linux 485串口运行一段时间之后 无反应,Supper tiny4412 用友善之臂官方文档资料移植uboot出错  出现OK后就没反应了 求大神解救...

一、 为了方便大家查看我的问题,我把详细过程记录一下,希望大家能看出问题所在。

二、 uboot 编译环境 :32位window7 的虚拟机Vmware9中的Ubuntu14.04,交叉编译工具arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz;

开发板:tiny4412增强版

三、 先贴出友善的Readme-uboot.txt内容,方便大家查看;

README for FriendlyARM Tiny4412

说明:本u-boot源代码由三星原厂提供,并由友善之臂修改移植,以适用于Tiny4412开发板平台。

仅供嵌入式爱好者学习研究之用,友善之臂不对此提供任何技术支持和维护。

-----------------------------------------------------

1. Build uboot

a) 安装好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好

环境变量PATH,保证可以正常使用。

b) 解压 uboot_tiny4412-20130729.tgz 并进入相应的目录

tar xzf uboot_tiny4412-20130729.tgz

c) 配置 uboot 并编译

cd uboot_tiny4412

make tiny4412_config

make

d) 编译 用于生成bl2 的工具

make -C sd_fuse

或者

cd sd_fuse; make

-----------------------------------------------------

2. 制作启动 Tiny4412 的SD卡

a) 先准备一张4G或以上的SDHC卡

注意:该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。

b) fusing SD card

假设SD卡已被PC Linux识别为/dev/sdb, 以root用户运行以下命令即可:

cd sd_fuse/tiny4412

./sd_fusing.sh /dev/sdb

-----------------------------------------------------

3. 使用SD卡启动 Tiny4412 并烧写Android

a) 将已经制作好的SD卡插到 Tiny4412 板上,拨动S2切换到SDBOOT,同时连接

串口线到PC且假设已经准备好。

b) 开发板加电,然后在串口控制台(如minicom),按任意键进入uboot 命令行模式

c) 对SD卡进行分区

输入以下uboot命令即可对SD卡进行分区:

fdisk -c 0 320 806 518

重新分区后,可重新格式化FAT分区

fatformat mmc 0:1

d) 进入fastboot模式以烧写Android

使用USB线连接Tiny4412的MICRO_USB口到PC,然后输入以下uboot命令:

fastboot

e) 烧写 Android 到SD卡

首先请准备好Android image,包括: zImage, ramdisk-u.img, system.img

在PC端输入以下命令进行烧写:

fastboot flash kernel zImage (烧写kernel)

fastboot -w (格式化userdata和cache)

fastboot flash ramdisk ramdisk-u.img (烧写ramdisk)

fastboot flash system system.img (烧写system)

f) 也可以在PC端通过fastboot烧写uboot到SD卡

先手动生成bl2.bin

cd sd_fuse/tiny4412

../mkbl2 ../../u-boot.bin bl2.bin 14336

然后输入以下命令:

fastboot flash fwbl1 E4412_N.bl1.bin

fastboot flash bl2 bl2.bin

fastboot flash bootloader ../../u-boot.bin

fastboot flash tzsw E4412_tzsw.bin

-----------------------------------------------------

4. 使用SD卡启动 Android

a) 如果是使用HD700,则烧写完成后直接重启Tiny4412 即可自动启动 Android

b) 如果是使用S700,则需要在uboot上设置kernel命令行参数:

setenv bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S700

saveenv

然后重启Tiny4412即可。

四、 操作如下:1. 编译uboot:

~/Desktop/uboot_tiny4412$ arm-linux-gcc -v

Using built-in specs.

COLLECT_GCC=arm-linux-gcc

COLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolschain/4.5.1/libexec/gcc/arm-none-linux-gnueabi/4.5.1/lto-wrapper

Target: arm-none-linux-gnueabi

Configured with: /work/toolchain/build/src/gcc-4.5.1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.5.1 --with-sysroot=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --enable-languages=c,c++ --disable-multilib --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=ctng-1.8.1-FA --with-bugurl=http://www.arm9.net/ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpfr=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-ppl=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-cloog=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpc=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-libelf=/work/toolchain/build/arm-none-linux-gnueabi/build/static --enable-threads=posix --with-local-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long

Thread model: posix

gcc version 4.5.1 (ctng-1.8.1-FA)

~/Desktop/uboot_tiny4412$ make tiny4412_config

awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg > .boards.depend

Configuring for tiny4412 board...

~/Desktop/uboot_tiny4412$ make

Generating include/autoconf.mk

Generating include/autoconf.mk.dep

……(此处省略编译信息)

arm-linux-ld: warning: creating a DT_TEXTREL in object.

arm-linux-objcopy -O srec u-boot u-boot.srec

arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

~/Desktop/uboot_tiny4412$ make -C sd_fuse

make: Entering directory `/home/how/Desktop/uboot_tiny4412/sd_fuse'

gcc -o mkbl2 V310-EVT1-mkbl2.c

gcc -o sd_fdisk sd_fdisk.c

make: Leaving directory `/home/how/Desktop/uboot_tiny4412/sd_fuse'

2.此时,我在PC下插入一张4G的SD卡,虚拟机Vmware中Ubuntu识别到我的SD卡,是/dev/sdc

~/Desktop/uboot_tiny4412$ cd sd_fuse/tiny4412

~/Desktop/uboot_tiny4412/sd_fuse/tiny4412$ sudo ./sd_fusing.sh /dev/sdc

[sudo] password for how:

/dev/sdc reader is identified.

---------------------------------------

BL1 fusing

16+0 records in

16+0 records out

8192 bytes (8.2 kB) copied, 0.844842 s, 9.7 kB/s

---------------------------------------

BL2 fusing

28+0 records in

28+0 records out

14336 bytes (14 kB) copied, 1.64115 s, 8.7 kB/s

---------------------------------------

u-boot fusing

540+1 records in

540+1 records out

276932 bytes (277 kB) copied, 26.0561 s, 10.6 kB/s

---------------------------------------

TrustZone S/W fusing

184+0 records in

184+0 records out

94208 bytes (94 kB) copied, 9.32676 s, 10.1 kB/s

---------------------------------------

U-boot image is fused successfully.

Eject SD card and insert it again.

3.我在windows7中打开SecureCRT,串口配置如下:

波特率115200,数据位8位,停止位1,无奇偶校验

将SD卡从PC中拔出,插入开发板中,开发板只连接着电源线和串口线,启动拨动开关至于SD档处,然后启动开发板电源开关,

串口输出如下:

OK

然后就没有了……

等待一段时间(至少5分钟),依然无反应…………

我往里面输入任何按键,也没有反应……

…………

五、 各位大侠,请问问题出在哪里???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值