- 积分
- 15
贡献89
飞刀21 FD
注册时间2024-4-25
在线时间3 小时
扫一扫,手机访问本帖
|
本帖最后由 yepc 于 2024-5-14 20:37 编辑
事情是这样的 我拿到公司的板子给了2份代码 一份是spl的 一份是正常的。 烧录uboot.imx的也是起不来。因为mksdcard.sh.tar 当时用的spl的那版分区,后来用了飞凌的和nxp官网的,也是没有起来。引脚都是ok的,是串口1打印。当时以为是那个.cfg里面寄存器初始化的问题 ,我现在把那个也改了 hex看了 前3k基本一样就是长度不一样 。然后就是uboot的一系列简单的外设初始化。我只想打印个串口而已。 新手期很困惑这个到底怎么处理,请各位大佬解惑。
公司的板子是用spl+uboot.img的
mksdcard.sh.tar
- # wait for the SD/MMC device node ready
- while [ ! -e $1 ]
- do
- sleep 1
- echo “wait for $1 appear”
- done
- # call sfdisk to create partition table
- # destroy the partition table
- node=$1
- dd if=/dev/zero of=${node} bs=512 count=20 conv=notrunc
- sfdisk --force ${node} << EOF
- label: gpt
- 256M 512M L
- 768M 512M L
- 1280M 512M L
- 1792M 128M L
- 1920M 1408M L
- 3328M 128M L
- 3456M 128M L
- EOF
复制代码 ucl2.xml uboot部分是这样的
- <CMD state="Updater" type="push" body="$ sleep 1 ">Sleep 1s to wait /dev/mmcblk%mmc% ready</CMD>
- <CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
- <CMD state="Updater" type="push" body="$ tar xf $FILE "> tar Partitioning shell...</CMD>
- <CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk%mmc%"> Partitioning...</CMD>
-
- <!-- clear uboot args -->
- <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk%mmc% bs=1k seek=768 conv=fsync count=8">clear u-boot arg</CMD>
- <!-- burn SPL and UBOOT -->
- <CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk%mmc%boot0/force_ro">access boot partition 1</CMD>
- <CMD state="Updater" type="push" body="send" file="files/imx6dl/SPL" ifdev="MX6D">Sending SPL</CMD>
- <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2">write SPL to mmc boot0</CMD>
-
- <CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk%mmc%boot0/force_ro"> re-enable read-only access </CMD>
-
- <CMD state="Updater" type="push" body="$ mmc bootpart enable 1 1 /dev/mmcblk%mmc%">enable boot partion 1 to boot</CMD>
复制代码 可以正常打开串口跑起来的
我自己编译的版本是uboot.imx
mksdcard.sh.tar- BOOT_ROM_SIZE=10
- # wait for the SD/MMC device node ready
- while [ ! -e $1 ]
- do
- sleep 1
- echo “wait for $1 appear”
- done
- # call sfdisk to create partition table
- # destroy the partition table
- node=$1
- dd if=/dev/zero of=${node} bs=1024 count=1
- sfdisk --force ${node} << EOF
- ${BOOT_ROM_SIZE}M,128M,c
- 138M,,83
- write
- EOF
复制代码
ucl2.xml uboot部分是这样的
- <CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
- <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
- <CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk%mmc%"> Partitioning...</CMD>
- <!-- clear uboot args -->
- <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk%mmc% bs=1k seek=768 conv=fsync count=8">clear u-boot env</CMD>
- <CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk%mmc%boot0/force_ro">access boot partition 1</CMD>
- <CMD state="Updater" type="push" body="send" file="files/imx6dl/u-boot.imx">Sending u-boot.bin</CMD>
- <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2">write U-Boot to sd card</CMD>
- <CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk%mmc%boot0/force_ro"> re-enable read-only access </CMD>
- <CMD state="Updater" type="push" body="$ mmc bootpart enable 1 1 /dev/mmcblk%mmc%">enable boot partion 1 to boot</CMD>
复制代码 nxp的源码还有飞凌的代码源码我都试过了 板子就是参考飞凌板子做的, uboot.imx版本的 串口就是死活打印不出来,求教还要注意什么东西?卡在这里好几天了
|
|