Skip to main content
tmkaran
Associate II
November 13, 2013
Question

uCLinux on STM32F429I-DISCO

  • November 13, 2013
  • 65 replies
  • 14865 views
Posted on November 13, 2013 at 10:54

Hi everybody,

I was very happy to see uCLinux port for Cortex-M4 and my favorite MCU STM32. This well done job was achieved by emcraft. So I wonder that is it possible to run uCLinux on my new toy STM32F429I-DISCO? I have started for it and some u-boot and kernel patching I finished my first job. You must known that code execution from SDRAM on STM32F4 much slower than from FLASH (~6x times slower). So in fact this core is not suitable code execution from SDRAM. But maybe you don't have any chance so you can accept this penalty. 

Than I modified the kernel to load romfs from flash, simple frame buffer driver, u-boot patching for SDRAM and LCD init functions. You can try and decide for yourself. This is boot-up and simple framebuffer demo video. 

http://youtu.be/avbnkhvZrVo

Emcraft original source git is https://github.com/EmcraftSystems (not including STM32F429I-DISCO board drivers)

Sample image attached to the post. This image contains u-boot, kernel and romfs. 

The serial console is USART3 and PC10->MCU TX, PC11->MCU RX. Don't forget that this interface has TTL levels.

#usart #stm32-uclinux-u-boot #usb-driver-p19-stm324f
This topic has been closed for replies.

65 replies

grzegorz23
Visitor II
November 29, 2013
Posted on November 29, 2013 at 08:22

New version working fine :)

My suggestion:

Please add in hello_world program printf('Hello world') working on LCD.

tmkaran
tmkaranAuthor
Associate II
November 29, 2013
Posted on November 29, 2013 at 14:28

ok... good idea... I will add

kenkyee
Visitor II
December 3, 2013
Posted on December 04, 2013 at 00:41

> Please add in hello_world program printf('Hello world') working on LCD.

Or even better...the first few lines from the ''top'' command...

tmkaran
tmkaranAuthor
Associate II
December 5, 2013
Posted on December 05, 2013 at 19:56

Hi guys,

Sorry for late response. I am busy nowadays. So the attached file contains startup application that is show cpu information on the TFT. It is for just testing. Console on serial port is still valid.

________________

Attachments :

uboot_kernel_romfs.zip : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HzZ3&d=%2Fa%2F0X0000000bNn%2FGU40NWaTFZrCVwcMogi3KvP00XQg.EvDah_rTJNiS44&asPdf=false
grzegorz23
Visitor II
December 6, 2013
Posted on December 06, 2013 at 11:24

Working fine:-)

BogoMIPS 168.34

CPU implementer 0x41

CPU architecture ?(11)

CPU variant 0x0

CPU part 0xc24

CPU revision 1

If you want - I can add USB keyboard support for LCD console.

sarraciro
Associate II
December 6, 2013
Posted on December 06, 2013 at 11:43

Yes, can be usefull...(imho) certly yes,

The support could include the possibility to switch from OTG (traditional keyboard) and LCD keyboard (Dvorak) in case OTG is un-connected.... (this is a cool feature).

I tryed your uboots and them work properly...

But I have to load the .hex using ST-Utility because using st-flash the programming failed...

I wrote to 0x0800 0000 but nothing....

You have experience with I-Disco + st-utils (st-texane) ???

Regards

tmkaran
tmkaranAuthor
Associate II
December 6, 2013
Posted on December 06, 2013 at 11:47

Great news body... I appreciated to you for your contribution. I will share the source body 

sloth
Visitor II
December 6, 2013
Posted on December 06, 2013 at 14:50

Hi TMK

If you need any help publishing the source then please let me know. The work you have done so fare are very impressive and I will hate to be forced to duplicate it.

Regards

Jakob

tmkaran
tmkaranAuthor
Associate II
December 6, 2013
Posted on December 06, 2013 at 15:18

Hi Jakob,

I am updating sources to the github rightnow and I will inform everyone who are interested after finish.

tmkaran
tmkaranAuthor
Associate II
December 7, 2013
Posted on December 07, 2013 at 16:06

Hi guys,

uCLinux, u-boot source and romfs binary is ready on

https://github.com/robutest

. Needed toolchain can be downloaded from emraft web site. Don't forget that u-boot must be flashed on 0x08000000, kernel must be flashed 0x08020000 and romfs must be flashed 0x08120000 address. If you want change these address, some jobs are waiting for you.