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
Related
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.
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
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.
I am trying investigate various inter-core communication mechanism on my Dual core Arm-Cortex Processor. One of the core is running a baremetal application and another one is running Linux operating system. I just came across the remoteproc framework ( rpmsg) and I could not find much information online. Only information i found was http://lwn.net/Articles/489009/ which is quite less to get started. Is there any one who could help me with this?
I come across the same issue as well. I found some additional resources:
Doc in the kernel tree as always:
https://www.kernel.org/doc/Documentation/remoteproc.txt
OMAP wiki that gives the overview of the design:
http://omappedia.org/wiki/Design_Overview_-_RPMsg
BTW. Thanks for the lwn link. That's quite helpful.
Since Xilinx' Zynq SoC also includes 2 ARM Cortex-A9 cores, they have published an application note in which they make a Linux Kernel communicate with a FreeRTOS system via remoteproc/rpmsg. You can find the document here: PDF
Although the document is quite specific, you might be able to pull out some information. You can download the sources here: Sign in to Download File (a Xilinx account is required). The *.bsp file can be renamed to *.tar.gz which can then be extracted.
If you have any further questions, don't hesitate to ask.
This is probably a stupid question, but I have been pouring over forums and google for hours and I can't figure this out.
I recently downloaded the mame4all source repository from here
https://code.google.com/p/mame4all-pi/
and made a few edits to the list of games that are available. Now I am having issues compiling/building the source. In the repository, there is of course the source code (Contained in an src folder). I cannot figure our how to build/install the source code now that I have edited it. In the main folder there is a makefile.rpi file, makefile.gp2x, and makefile.rpi.debug, I feel like there is something that I need to do with these but I am not entirely sure
I am not sure how to build/compile this source code to test the changes, I am on a raspberry pi using Raspbian Wheezy. I feel like I am missing something simple, any help is greatly appreciated!
You need build tools for ARM architecture installed within the Raspbian Wheezy. But compiling in Raspberry Pi is horribly slow and you might want to do it on your PC instead. If you have a Debian on Ubuntu installation on your PC, then get ARM tool chain that can 'cross-compile' from x86 to ARM. I am sure there is a version of GCC out there than can do this. A simple Google search might provide more details regarding that. Once you get the binary compiled, copy it to the raspberry pi either via SFTP or by connecting the SD card to your PC.
http://qt-project.org/wiki/RaspberryPi_Beginners_guide contains a lot of information and links to download tools for this purpose. In fact, Qt creator can automate most of the tasks and you can deploy compiled binary directly to the Pi from Qt creator.