DS-5 example code - arm

I have been trying to find DS-5 example code. Does DS-5 have example code showing how to use different features? If yes, how can I get access to it? And what does the sample code cover?

Yes, DS-5 does have some sample code.
The page https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/sample-code contains high level information on the code available. The code contains bare-metal (no operating system) and Linux OS app examples. It also has few examples related to TrustZone, DTSL, Linux kernel module debugging and other features.
However, the sample code, by itself, is NOT available for download online. You need to install DS-5 to get it, as the sample code is part of the installation. An 30 day eval version can be downloaded from https://developer.arm.com/products/software-development-tools/ds-5-development-studio/downloads. The example code is NOT part of DS-5 as a plugin installation.
The examples, by default, do not appear in the DS-5 workspace. You have to import it by following the instructions in https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/importing-ds-5-example-projects

Related

Convert an existing code from STM32F0 to Atmel SAMD21 (both are arm-based cortex-M0)

The existing project is running well on STM32F0. The code should be converted to Atmel SAMD21.
The code is written in Visual Studio and using the IntelliSense configuration (ARM Paths). Both projects should use the I2C interface. The package which is used is ChibiOS for STM32.
Because I didn't write the code from scratch, Which part should I change in the code or read carefully? In other words, what is common and different in programming 2 different arms?
Do I need to do my own bootstrap (I mean the initialization part) and linker script? What else is needed?
Also, is there any configuration file for arm definition that I should change?
As I should change chibiOS and add the libraries for Atmel, Which library or package is better to use for Atmel SAMD?
Is there any idea or example that is helpful to compare between these
2 arms?
Much appreciated for any helpful suggestion, in advance.

DS-5 configuration for Cortex-M7

I'm starting my very first project with arm device. Concretely, I'd like to do some image processing on the cortex-M7 programming in C/C++. I got the DS-5 community working just fine and I'm following the basic Hello World tutorial in here: https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/getting-started-with-ds-5-ce-and-armv8-foundation-platform
I'm struggling to accomplish the following:
Get the right toolchain: I got arm-eabi 2.24 from here(http://gnutoolchains.com/download/). Is this what I'm supposed to use? should I use arm-elf instead?
In the tutorial, it describes how to create a debug configuration for a cortex-A9 device. However, I have a cortex-M7. I know I can add a new configuration database from Window>Preferences>DS-5>ConfigurationDatabase. Where can I find the database files for the cortex-M7? I believe those files are available somewhere in the arm site but I can't find them.
Sorry if these questions aren't so interesting... I'm new to this and I need these two problems to be solved in order to start doing some actual work.
If you have ARM DS-5 license, you can send email to support#arm.com for support.
Actually, these kind of questions can be answered from articles of Arm public web sites.
Adding a new configuration database to DS-5
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0446o/deb1359985233115.html
The latest GNU ARM toolchain can be found at https://developer.arm.com/open-source/gnu-toolchain/gnu-rm

Use Azure IoT Plugin for C within Eclipse

Very new to C, Eclipse, and basically everything else I am trying to work with in this project. I have an Arduino Feather HUZZAH (ESP8266). I have flashed the firmware with the esp_iot_sdk and installed Eclipse on to machine through the unofficial Espressif Dev Kit in order to write the code for the board.
The code I wrote is working well but now I need to find a way to send the collected data to Azure's IoT Hub. I found this plugin for talking to the Azure IoT Hub but cannot figure out how in the world to get it installed using Eclipse.
Even if someone could show me how to get a simple POST request going in C, using a library or not, that would be awesome! Thanks for your help.
So you want to run azure-iot-sdk on ESP8266 with Tensilica Xtensa LX106 MCU.
The first thing you need to do is to port azure-iot-sdk C library to Xtensa platform, using the Espressif Dev Kit toolchain.
Normally, this is officially done by Microsoft. Unfortunately, Xtensa LX106 might not be on the list(roadmap?) yet.
So I think you can do some porting work yourself, following some tutorials from Microsoft. This link works for Linux host, but given that fact that Xtensa toolchain only supports windows for now, you might end up writing some cmd, bat or generic makefile/cmake file, in which you need to have the cross-compile toolchain(aka xtensa-lx106-elf-gcc) specified.
Hopefully, it's not complicated or cumbersome.
After you have done with this, you need some static or dynamic library assembly depending on your settings, the next step is to specify the library path in your eclipse project, and don't forget to include the azure-iot-sdk header folder to your project, as the snapshot shows.
You should be good to go after the above steps.

in-Built linux application with the kernel image or boot.img

how to make an application in built(like top, vi , etc ) so that they can be put inside the /system/bin automatically on flashing the kernel and can be accessed from the command prompt.
I tried modifying the Makefile for the my application by looking at the example of top utility but could not find it under /system/bin .
I am not sure if I have included the sources of the file in the Makefile correctly.
You need to start with something that the manufacturer provided. Presumably it's a devKit or something. Most modern dev kits ship with either a MFG provided development environment, kernel, sources, etc. Many are based on Yocto Linux.
You can't just compile a binary locally on your PC with whatever version of GCC you have and have it work on an embedded environment. Chances are it's a different architecture (ARM or Freescale or something). There are ways to cross-compile but is some setup involved. Read about cross compiling here: http://en.wikipedia.org/wiki/Cross_compiler
There are development and packaging environments that have been developed by the community but it's not for the faint of heart. In short, start reading: https://www.yoctoproject.org/

Cross compiling with existing rootfs and external toolchain (buildroot? qemu?)

I am working on an arm embedded platform based on the Cortex A9, very similar to the hummingboard (http://www.solid-run.com/products/hummingboard/).
I am working on porting over some of our software that was previously running on a beaglebone. Our software is python based but uses some ctypes, an internal c library as well as several python modules and a rabbitmq server. On the beaglebone, setting this up was easy because there is a lot of support and ubuntu based distros that make it simple to install packages.
I have a linaro cross compiler and a uboot and rootfs image given to us by the manufacturer of the platform. Manually cross compiling and building all of our necessary dependencies is turning into quite a headache, as everything has little quirks. I do not have a native development toolchain that can run on the arm device.
I am looking for a simpler way to do some of these tasks. Buildroot sounds like exactly what I need, but I am not sure how I would make it work with an already existing rootfs and toolchain. Unfortunately, I don't know all the details of the rootfs and how the hardware is brought up, so I don't think I can replicate the settings exactly using buildroot.
Another option I was looking into was somehow using the rootfs with QEMU and building a native toolchain to run on it, which would allow me to manually build the dependencies without needing to deal with the headaches of cross compiling.
Any help is very much appreciated. Thanks.
Buildroot is designed to generate an entire rootfs, not to "complement" an existing one. So if you were to use Buildroot, you should get rid of the existing root filesystem, and use the new one generated by Buildroot.
Also, note that if you were happy with the Debian distro running on your BeagleBone, you can also run Debian on your Hummingboard.

Resources