Native programming, which tools do I need?
#1
Posted 03 February 2012 - 07:46 PM
#2
#3
Posted 03 February 2012 - 11:52 PM
Cool, I'll check that out. Thanks.You could try FreeRtos
#4
Posted 04 February 2012 - 09:54 AM
There are many toolchains available for ARM processors, from free GCC-based to several thousand dollars commercial ones - for example Yagarto, Sourcery CodeBench, Rowley CrossWorks for ARM, IAR EWARM, Keil MDK-ARM, ARM RVDS...1. What toolchain do I need in order to do this in the C programming language or even C++ if possible?
Netduino boards do not expose microcontroller's JTAG pins, so debugging is not available. You'd need a development board for that (or custom made PCB, AT91SAM7X requires just a few capacitors and a crystal to operate) and JTAG debugger. Most commercial toolchains can be obtained with such debugger, often it is just OEM version of Segger J-Link or similar (cheap clones available on the Internet), they also support OpenOCD.2. How can I do debugging?
Try Atmel's AT91SAM7X-EK Software Package (zip) or samples which come with the toolchain. There are also numerous projects on the Internet...3. Are there any libraries available in terms of not having to reinvent the wheel, for example when it comes to SD cards and such?
You'll be using JTAG for application deployment during development.4. How does deployment work, SAMBA?
#5
Posted 05 February 2012 - 07:25 PM
#6
Posted 10 February 2012 - 10:12 PM
#7
Posted 11 February 2012 - 12:34 AM
#8
Posted 14 February 2012 - 09:33 AM
Found this STM32 board:If you want an easy to play development kit you should try STM32F4-Discovery. It comes with a programmer/debugger, CMSIS libraries making life easier, DSP libraries and you can use a free license IDE with it(Attolic True Studio).
http://www.micro4you...ment-board.html
It's currently out of stock but it's small, fast (72Mhz) with plenty of Flash and RAM, JTAG, all the cpu pins are available - and it's cheap too.
#9
Posted 28 February 2012 - 07:45 PM
Ordered an STM32F4-Discovery board today and we'll see how far it takes meIf you want an easy to play development kit you should try STM32F4-Discovery.
#10
Posted 03 March 2012 - 12:54 AM
Got the board yesterday and even though I know this doesn't really belong here I couldn't help myself.Ordered an STM32F4-Discovery board today and we'll see how far it takes me
So here's a short little video that I made showing the board running a multithreaded program upon FreeRTOS. The program uses the onboard 3-axis accelerometer, one of the UARTs and four of the LEDs and the ever so famous FTDI 3.3V USB to TTL cable in order to send debug messages to HyperTerminal on Windows XP:
http://www.youtube.com/watch?v=1C4QhtvSMRM
Found the demo here and it compiled beautifully with Atollic TrueStudio Lite which is free.
#11
Posted 03 March 2012 - 01:33 AM
#12
Posted 03 March 2012 - 02:52 AM
Yeah, I think well at times but oh so slowly :-)Nice timing with the FEZ Cerberus release!
#13
Posted 13 April 2012 - 06:22 PM
#14
Posted 13 April 2012 - 07:21 PM
Actually, it is easier than you think: KodeDaemon's port runs on the STM32F4 Discovery board, it just needs to be adjusted to different crystal frequency (8 MHz vs. 25 MHz on Netduino Go), i.e. changing a few #define-s.It's even crossed my mind that porting the .NET framework across to this board might not be so tricky if leveraging the hard work that's been done by KodeDaemon. Just think of all those directly accessible IO pins! I'm not sure I'll get round to giving it a go but somebody might.
Or, to be more precise: Netduino Go firmware is STM32F4 Discovery port adjusted to different crystal frequency, by changing a few #define-s
#15
Posted 13 April 2012 - 07:59 PM
Well, before adding in the go!bus IO virtualization and suchOr, to be more precise: Netduino Go firmware is STM32F4 Discovery port adjusted to different crystal frequency, by changing a few #define-s
Chris
#16
Posted 13 April 2012 - 08:35 PM
Oops, forgot to mention that. Sorry (blush smiley)Well, before adding in the go!bus IO virtualization and such
#17
Posted 14 April 2012 - 03:36 AM
Actually, it is easier than you think: KodeDaemon's port runs on the STM32F4 Discovery board, it just needs to be adjusted to different crystal frequency (8 MHz vs. 25 MHz on Netduino Go), i.e. changing a few #define-s.
Or, to be more precise: Netduino Go firmware is STM32F4 Discovery port adjusted to different crystal frequency, by changing a few #define-s
It has been way too long since I have worked at this level, I'm stumbling all over ...
I don't have a Netduino Go yet, and I've got some STM32F4 Discovery boards here and the time limited RVDS 4.1 compiler.
I've found spots in the source code for getting the clock setup for an 8MHz HSE
1) Line 47 of platform_selector.h looks like it was changed from 8MHz to 25MHz so I assume I should change it back?
#define SYSTEM_CRYSTAL_CLOCK_HZ 25000000 // 8MHz external clock
2) Line 91,92 of stm32f4xx.h is already at 8MHz and I think HSE_VALUE is already defined by the time it gets here.
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
3) Line 26 of STM32_bootstrap.c defines a divisor.
#define PLL_M 25
So, I change 1 and 3 to 8000000 and 8 respectively. Build the solution. Use the ST-Link utility to flash the resultant ER_FLASH (bin or hex).
The controller doesn't appear to start up properly. Plugging in the micro USB (while powering from the mini USB) doesn't register as a USB device at all.
Do you know if I have addressed the correct locations in the source code to get set up for an 8MHz HSE? Or is my problem potentially elsewhere?
#18
Posted 14 April 2012 - 10:51 AM
IMHO the changes are correct. But, you have to flash ER_BOOT too, and preferably ER_CONFIG. Alternatively, you could use tinyclr.axf for development and debugging, it contains all the sections.Do you know if I have addressed the correct locations in the source code to get set up for an 8MHz HSE? Or is my problem potentially elsewhere?
#19
Posted 14 April 2012 - 01:16 PM
IMHO the changes are correct. But, you have to flash ER_BOOT too, and preferably ER_CONFIG. Alternatively, you could use tinyclr.axf for development and debugging, it contains all the sections.
Thank you...
I was unable to figure out how to flash the .axf file :S
I think I took a long way around, but I used DFU File Manager to inspect the posted Secret Labs tinyclr.dfu.
I used fromelf on the .axf to verify the loading address for each of the 3 boot, config and flash files.
Then I used DFU File Manager again to combine the 3 bin files into a DFU.
Success, I have a STM32F4 Discovery running netmf.
Again, thanks for your help.
Looking forward to the source patches for GCC!
- CW2 likes this
#20
Posted 14 April 2012 - 03:46 PM
Hats off to you for figuring this outI think I took a long way around, but I used DFU File Manager to inspect the posted Secret Labs tinyclr.dfu. I used fromelf on the .axf to verify the loading address for each of the 3 boot, config and flash files. Then I used DFU File Manager again to combine the 3 bin files into a DFU.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users