cancel
Showing results for 
Search instead for 
Did you mean: 

uCLinux on STM32F429I-DISCO

tmkaran
Associate II
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
65 REPLIES 65
tmkaran
Associate II
Posted on January 07, 2014 at 13:52

Thanks friends

You all welcome. The information will grow with sharing of.

Keep hacking...

dsevc
Associate II
Posted on January 09, 2014 at 10:34

Hi. I'm totally newbe for uClinux and for STM platform. Is possible to write more information about uClinux here.. what all command is possible to use , and if support any USB mass storage or SD card ?? and how to write easy small program (for example hellow world ) in Windows PC ??  best regards..

Posted on January 09, 2014 at 15:41

This seems a bit remedial for this thread, suggest you start a new one if you are looking for tutorials and basic stuff. I'd also suspect you could find a lot of this type of stuff with a Google/Bing search.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
dsevc
Associate II
Posted on January 09, 2014 at 15:56

Ehm.. yes. but if try searching in google .. stm32f429 + linux show only this web forum.. hehe.. I ned only small help ..

ok .. thanks for all .. best regards.

dsevc
Associate II
Posted on January 11, 2014 at 10:28

Hi.Today I try install and compile files for uClinux.

I use scripts from gore.mike but had problem to do it.. after install or compile say error..

What I do :

1. To my WIn7 64-bit install Oracle VM and to this VM install Ubuntu 12.04 LTS 64-bit version

2. in home directory create new directory with name uCLinux

3. download all scripts from gore.mike and unzip to my uCLinux directory

4. open terminal and start run step by step run scripts

5. ./setvars

PATH:[/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games]

6. /install_uclinux

updating: install_libusbx (deflated 40%)

updating: install_packages (deflated 29%)

updating: install_stlink (deflated 57%)

updating: install_tools (deflated 35%)

updating: install_uclinux (deflated 51%)

updating: flash_uclinux (deflated 60%)

updating: setvars (deflated 32%)

updating: readme.txt (deflated 55%)

PATH:[/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games]

updating package list - this may take a while

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

PATH:[/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games]

File `arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2' already there; not retrieving.

tar (child): arm-arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2: Cannot open: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error is not recoverable: exiting now

PATH:[/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games]

updating package list - this may take a while

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

/usr/bin/install: /usr/bin/install: cannot execute binary file

install_stlink: line 31: git: command not found

install_stlink: line 36: pushd: stlink: No such file or directory

install_stlink: line 41: ./autogen.sh: No such file or directory

install_stlink: line 42: ./configure: No such file or directory

make: *** No targets specified and no makefile found.  Stop.

make: *** No rule to make target `install'.  Stop.

====

install_stlink: line 56: [: /etc/udev/rules.d/70-persistent-cd.rules: binary operator expected

root privileges required

====

install_stlink: line 64: pushd: src: No such file or directory

Compile tests

gcc: error: test_usb.c: No such file or directory

gcc: error: ../libstlink.a: No such file or directory

gcc: error: /usr/local/lib/libusb-1.0.a: No such file or directory

gcc: error: test_usb.c: No such file or directory

gcc: error: ../libstlink.a: No such file or directory

gcc: error: /usr/local/lib/libusb-1.0.a: No such file or directory

install_stlink: line 72: popd: directory stack empty

install_stlink: line 74: popd: directory stack empty

get u-boot https://github.com/robutest/u-boot

./install_uclinux: line 38: git: command not found

get uclinux https://github.com/robutest/uclinux

./install_uclinux: line 38: git: command not found

get stm32-bins https://github.com/robutest/stm32-bins

./install_uclinux: line 38: git: command not found

./install_uclinux: line 43: pushd: u-boot: No such file or directory

building stlink with libusbx package

make: *** No rule to make target `stm32429-disco'.  Stop.

make: *** No rule to make target `tools'.  Stop.

./install_uclinux: line 47: popd: directory stack empty

./install_uclinux: line 50: pushd: uclinux: No such file or directory

Modify default robutest uclinux configuration ? y/n [n]:

7.set: y and ENTER

8. result:

make: *** No rule to make target `mrproper'.  Stop.

cp: cannot stat `config.robutest': No such file or directory

Running menuconfig - just save configuration - no need to chang enything

make: *** No rule to make target `menuconfig'.  Stop.

building uclinux

make: *** No targets specified and no makefile found.  Stop.

./install_uclinux: line 70: pushd: arch/arm/boot: No such file or directory

./install_uclinux: line 71: make_uboot_ximage: command not found

./install_uclinux: line 72: popd: directory stack empty

./install_uclinux: line 75: popd: directory stack empty

--2014-01-11 10:23:24--  https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Discovery/Attachments/8506/uboot_kernel_romfs.zip

Resolving my.st.com (my.st.com)... 164.130.1.9

Connecting to my.st.com (my.st.com)|164.130.1.9|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1065782 (1.0M) [application/x-zip-compressed]

Server file no newer than local file `uboot_kernel_romfs.zip' -- not retrieving.

updating: install_libusbx (deflated 40%)

updating: install_packages (deflated 29%)

updating: install_stlink (deflated 57%)

updating: install_tools (deflated 35%)

updating: install_uclinux (deflated 51%)

updating: flash_uclinux (deflated 60%)

updating: setvars (deflated 32%)

updating: readme.txt (deflated 55%)

PATH:[/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/home/dzairo/uCLinux/arm-2010q1/bin:/home/dzairo/uCLinux/u-boot/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games]

ST-LINK flash

checking to see if we linked libusbx in /usr/local/lib

ldd: missing file arguments

Try `ldd --help' for more information.

======

arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2 build_uclinux.zip flash_uclinux install_libusbx install_packages install_stlink install_tools install_uclinux readme.txt setvars uboot_kernel_romfs.zip zipit ERROR arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2 build_uclinux.zip flash_uclinux install_libusbx install_packages install_stlink install_tools install_uclinux readme.txt setvars uboot_kernel_romfs.zip zipit

u-boot/stm32429-disco/u-boot.bin is missing

run install_uclinux and try again

======

arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2 build_uclinux.zip flash_uclinux install_libusbx install_packages install_stlink install_tools install_uclinux readme.txt setvars uboot_kernel_romfs.zip zipit ERROR arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2 build_uclinux.zip flash_uclinux install_libusbx install_packages install_stlink install_tools install_uclinux readme.txt setvars uboot_kernel_romfs.zip zipit

uclinux/arch/arm/boot/xipuImage.bin is missing

run install_uclinux and try again

======

arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2 build_uclinux.zip flash_uclinux install_libusbx install_packages install_stlink install_tools install_uclinux readme.txt setvars uboot_kernel_romfs.zip zipit ERROR arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2 build_uclinux.zip flash_uclinux install_libusbx install_packages install_stlink install_tools install_uclinux readme.txt setvars uboot_kernel_romfs.zip zipit

stm32-bins/romfs.bin is missing

run install_uclinux and try again

dzairo@dzairo-VirtualBox:~/uCLinux$

9. here I stop and no continue..

what is problem .. step by step.. I wand solve this problem..

best regards

Dzairo

frankmeyer9
Associate II
Posted on January 11, 2014 at 17:51

root privileges required

 

Did you notice this line ?

When installing Linux, either for ''real'' or in a VM box, you define a root password.

Try using it here.

dsevc
Associate II
Posted on January 13, 2014 at 08:27

Hi. 

I try run all scripts but still have some problem.. then :

Is possible some one to run all scripts in PC and record all output in terminal to file .. and send to me ?? then I can compare with our output .. and more easy to solve problem.. 

is possible to do it ?? 

best regards.

thanhnhi
Associate II
Posted on January 14, 2014 at 04:43

Hi tmk,

Can we use usb wifi on stm32f429-discovery?

It is working on LPC1788 under uClinux

Best regards,

THANH NHI
tmkaran
Associate II
Posted on January 14, 2014 at 19:02

Hi,

the kernel doesn't contain USB HCI drivers for STM32 rightnow. I couldn't find any time to add this driver :(

dsevc
Associate II
Posted on January 16, 2014 at 13:34

Hi. Then try use driver for  SD card only .. if you have driver.. I know .. in dev kit is not sd card slot .. but this is easy to add this by wire to connect.. and make uClinux distribution with SD card support .. external drive ..and make some small program to run from SD card (mount automatic if GPIO pin is toggle to GND) ..  and is possible to create file in internal FLASH ?? copy file form external SD card to internal flash.. this will possible to run program with no SD card inserted.. and start automatic..  

best regards