As Thalita said, we changed our microcontroler to SmartFusion SoC from Actel.
I am preparing the software development environment, as Actel provides many Windows tools and most of them have no support for Linux, I am adapting the Windows structure for Linux., testing in the SmartFusion Evaluation Kit provided from the teachers.
The first one to adapt was OpenOCD which had no target interface for SmartFusion. The access to Ram memory is already working but seems that OpenOCD does not support his flash memory, a patch is required. Since Actel does not provide a good documentation for the flash memory, I decided to download the source code provided by Actel to manage the flash.
The code is open source (I can make copies, modify, etc), however for some reason, I couldn’t find another way to download them but by Actel’s tools, there is no direct link, so I tried to install the only software Actel provides for Linux: Libero, it is a tool to program the fpga, but I had some problems installing the package libmotif3 32 bits required by Libero, and I decided to do a copy paste from the Windows installation.
As we can go on with the OpenOCD supporting just the Ram, I though it would be more important to set up the programming environment so others developments could run in parallel.
I am still adapting the code: Makefiles, linkscript, crt0.s, drives provided by Actel, etc. I hope tomorrow I can finish this and make a simple UART program in Linux.
How to program to the FPGA is still a mystery. There is a pin JTAGSEL to select to program the Cortex or the FPGA, the selection can be performed by a jumper, but seems that it can be performed by software too (the Evaluation Kit does that), we’d like to do it by software but we couldn’t find a clear documentation about CTXSELEC (the name of the command by software). I am going to look for more information in the source code.
I believe I can integrate the system with FreeRTOS this week, and start the bootloader.
Possibly related posts: