Update README
This commit is contained in:
parent
909d264dea
commit
8c6d42843d
@ -11,6 +11,7 @@ Contents
|
|||||||
- Platform Features
|
- Platform Features
|
||||||
- Serial Console
|
- Serial Console
|
||||||
- LEDs and Buttons
|
- LEDs and Buttons
|
||||||
|
- Using U-Boot to Run NuttX
|
||||||
- Configurations
|
- Configurations
|
||||||
|
|
||||||
Status
|
Status
|
||||||
@ -29,6 +30,10 @@ that case).
|
|||||||
There is a lot of testing that could be done but, unfortunately, I still
|
There is a lot of testing that could be done but, unfortunately, I still
|
||||||
have no i.MX6 hardware to test on.
|
have no i.MX6 hardware to test on.
|
||||||
|
|
||||||
|
2016-03-28: I now have a used MCIMX6Q-SDB which is similar to the target
|
||||||
|
configuration described below except that it does not have the 10.1" LVDS
|
||||||
|
display. Next step: Figure out how to run a copy of NuttX using U-Boot.
|
||||||
|
|
||||||
Platform Features
|
Platform Features
|
||||||
=================
|
=================
|
||||||
|
|
||||||
@ -179,6 +184,114 @@ apparently, running normally. If the LED is flashing at approximately
|
|||||||
Buttons
|
Buttons
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
Using U-Boot to Run NuttX
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
The MCIMX6Q-SDB comes with a 8GB SD card containing the U-Boot and Android.
|
||||||
|
You simply put the SD card in the SD card slot SD3 (on the bottom of the
|
||||||
|
board next to the HDMI connect) and Android will boot.
|
||||||
|
|
||||||
|
But we need some other way to boot NuttX. Here are some things that I have
|
||||||
|
experimented with.
|
||||||
|
|
||||||
|
Building U-Boot (Attempt #1)
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
I have been unsuccessful getting building a working version of u-boot from
|
||||||
|
scratch. It builds, but it does not run. Here are the things I did:
|
||||||
|
|
||||||
|
1. Get a copy of the u-boot i.MX6 code via:
|
||||||
|
|
||||||
|
https://github.com/boundarydevices/u-boot-imx6/tree/production
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
$ git clone git://git.denx.de/u-boot.git
|
||||||
|
|
||||||
|
2. Build U-Boot for the i.MX6Q Sabre using the following steps. This
|
||||||
|
assumes that you have the path to your arm-none-eabi- toolchain at the
|
||||||
|
beginning of your PATH variable:
|
||||||
|
|
||||||
|
$ cd u-boot
|
||||||
|
$ export ARCH=arm
|
||||||
|
$ export CROSS_COMPILE=arm-none-eabi-
|
||||||
|
$ make mx6qsabresd_config
|
||||||
|
$ make
|
||||||
|
|
||||||
|
This should create a number of files, including u-boot.imx
|
||||||
|
|
||||||
|
3. Format an SD card
|
||||||
|
|
||||||
|
Create a FAT16 partition at an offset of about 1MB into the SD card.
|
||||||
|
This is where we will put nuttx.bin.
|
||||||
|
|
||||||
|
4. Put U-Boot on SD. U-boot should reside at offset 1024B of your SD
|
||||||
|
card. To put it there, do:
|
||||||
|
|
||||||
|
$ dd if=u-boot.imx of=/dev/<your-sd-card> bs=1k seek=1
|
||||||
|
$ sync
|
||||||
|
|
||||||
|
Your SD card device is typically something in /dev/sd<X> or
|
||||||
|
/dev/mmcblk<X>. Note that you need write permissions on the SD card
|
||||||
|
for the command to succeed, so you might need to su - as root, or use
|
||||||
|
sudo, or do a chmod a+w as root on the SD card device node to grant
|
||||||
|
permissions to users.
|
||||||
|
|
||||||
|
Using the Other SD Card Slot (Attempt #2)
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Another option is to use the version u-boot that came on the 8GB but put
|
||||||
|
NuttX on another SD card inserted in the other SD card slot at the opposite
|
||||||
|
corner of the board.
|
||||||
|
|
||||||
|
To make a long story short: This doesn't work. As far as I can tell,
|
||||||
|
U-Boot does not support any other other SC card except for mmc 2 with is the
|
||||||
|
boot SD card slot.
|
||||||
|
|
||||||
|
Replace Boot SD Card (Attempt #3)
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
What if you remove the SD card after U-boot has booted, then then insert
|
||||||
|
another SD card containing the nuttx.bin image?
|
||||||
|
|
||||||
|
1. Build nuttx.bin and copy it only a FAT formated SD card. Insert the SD
|
||||||
|
card containing NuttX into the "other" SD card slot. Insert the 8GB SD
|
||||||
|
card with U-boot already on it in the normal, boot SD card slot.
|
||||||
|
|
||||||
|
2. Connect the VCOM port using the USB port next to the boot SD card slot.
|
||||||
|
|
||||||
|
3. Start a console at 11500 8N1 on the VCOM port
|
||||||
|
|
||||||
|
4. Power up the board with the 8GB SD card in place. U-Boot will start and
|
||||||
|
countdown before starting Linux. Press enter to break into U-Boot before
|
||||||
|
Linux is started.
|
||||||
|
|
||||||
|
5. Remove the 8GB U-Boot SD card; insert in its place.
|
||||||
|
|
||||||
|
6. Rescan the SD card:
|
||||||
|
|
||||||
|
MX6Q SABRESD U-Boot > mmc dev 2
|
||||||
|
mmc2 is current device
|
||||||
|
MX6Q SABRESD U-Boot > mmc rescan
|
||||||
|
MX6Q SABRESD U-Boot > fatls mmc 2
|
||||||
|
system volume information/
|
||||||
|
87260 nuttx.bin
|
||||||
|
|
||||||
|
1 file(s), 1 dir(s)
|
||||||
|
|
||||||
|
7. Then we can boot NuttX off the rescanned SD card:
|
||||||
|
|
||||||
|
MX6Q SABRESD U-Boot > fatload mmc 2 0x20010000 nuttx.bin
|
||||||
|
reading nuttx.bin
|
||||||
|
|
||||||
|
87260 bytes read
|
||||||
|
MX6Q SABRESD U-Boot > go 0x2001040
|
||||||
|
## Starting application at 0x02001040 ...
|
||||||
|
|
||||||
|
MX6Q SABRESD U-Boot >
|
||||||
|
|
||||||
|
That seems to work okay and this is more than enough of this kind of
|
||||||
|
thing for a day.
|
||||||
|
|
||||||
Configuration sub-directories
|
Configuration sub-directories
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user