升级 pcDuino3 Nano SD卡上的 U-Boot

嵌入式系统课程实验内容。

为了防止把板子上的系统的搞坏掉,我一开始是在SD卡上烧了一个系统,在SD卡上做实验,最后成功了。

之后尝试直接在板子上做,结果成功把板子上的系统搞坏掉了,尝试重新往板子上烧写系统也没成功。目前还不知道如何恢复……

以下为在SD卡上的实验过程:

  1. 下载SD卡系统镜像,官方pcDuino3 Nano镜像下载页面的第一个:Ubuntu SD bootable image (2015/12)
  2. Linux下的ddWindows下的windisk32imagewriter把系统烧写到SD卡上
  3. 下载u-boot-sunxi源代码,项目地址:u-boot-sunxi
  4. 编译

    1
    2
    3
    mkdir build
    make CROSS_COMPILE=arm-linux-gnueabihf- Linksprite_pcDuino3_Nano_defconfig O=build
    make CROSS_COMPILE=arm-linux-gnueabihf- O=build -j 8
  5. 插上SD卡,找到SD卡对应的设备号(替换下面命令中的sdX),烧写U-Boot

    1
    2
    cd build
    sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
  6. 把SD卡插到pcDuino3 Nano上,按reset键或掉电重启,板子会自动从SD卡启动

  7. 打断U-Boot的自动启动系统内核倒计时,进入命令行交互界面,更改启动模式并保存环境变量(原因,若不更改则会卡在Starting kernel …处),启动系统内核

    1
    2
    3
    setenv bootm_boot_mode sec
    saveenv
    boot
  8. Done