部署 BSP

更新时间:
2024-04-25
下载文档

部署 BSP

BSP 镜像文件(本例为 SylixOSBSP.bin )可以下载到模拟器或目标设备运行。

下载到目标设备的方式根据设备的 bootloader 而定,最常见的下载方式是通过 u-boot 下载。下面通过 AM335X 系列开发板说明 u-boot 下载方式的通用流程。

u-boot 是一个普遍用于嵌入式系统中的 bootloader,初始化硬件设备、建立内存空间的映射表,从而建立适当的软硬件环境,为最终进入操作系统内核做好准备。u-boot 可以通过网络或设备存储器获取系统镜像并引导系统,用户可以通过 shell 与其交互,进而控制引导流程,以下为 AM335X u-boot 的 shell 命令列表。

说明:
本部分对 u-boot 的介绍是在 AM335X 平台,仅为了介绍 u-boot 的使用方法。

?        - alias for 'help'
askenv     - get environment variables from stdin
base      - print or set address offset
bdinfo     - print Board Info structure
bmp       - manipulate BMP image data
boot      - boot default, i.e., run 'bootcmd'
bootd      - boot default, i.e., run 'bootcmd'
bootm      - boot application image from memory
bootp      - boot image via network using BOOTP/TFTP protocol
cmp       - memory compare
coninfo     - print console devices and information
cp       - memory copy
crc32      - checksum calculation
dcache     - enable or disable data cache
dhcp      - boot image via network using DHCP/TFTP protocol
echo      - echo args to console
editenv     - edit environment variable
env       - environment handling commands
exit      - exit script
ext2load    - load binary file from a Ext2 filesystem
ext2ls     - list files in a directory (default /)
false      - do nothing, unsuccessfully
fatinfo     - print information about filesystem
fatload    - load binary file from a dos filesystem
fatls      - list files in a directory (default /)
go       - start application at address 'addr'
help      - print command description/usage
i2c       - I2C sub-system
icache     - enable or disable instruction cache
iminfo     - print header information for application image
imxtract    - extract a part of a multi-image
itest      - return true/false on integer compare
led       - led control
loadb      - load binary file over serial line (kermit mode)
loads      - load S-Record file over serial line
loady      - load binary file over serial line (ymodem mode)
loop      - infinite loop on address range
md       - memory display
mm       - memory modify (auto-incrementing address)
mmc       - MMC sub system
mmcinfo     - display MMC info
mtest      - simple RAM read/write test
mw       - memory write (fill)
nand      - NAND sub-system
nandecc     - Switch NAND ECC calculation algorithm b/w hardware and software
nboot      - boot from NAND device
nfs       - boot image via network using NFS protocol
nm       - memory modify (constant address)
ping      - send ICMP ECHO_REQUEST to network host
printenv    - print environment variables
reset      - Perform RESET of the CPU
run       - run commands in an environment variable
saveenv     - save environment variables to persistent storage
scr       - set extra parameters
setenv     - set environment variables
sf       - SPI flash sub-system
showvar     - print local hushshell variables
sleep      - delay execution for some time
source     - run script from memory
test      - minimal test like /bin/sh
tftpboot    - boot image via network using TFTP protocol
true      - do nothing, successfully
version     - print monitor, compiler and linker version

AM335X 系列开发板引导步骤如下:

  1. 连接开发板串口、网络以及电源。使用串口工具打开对应串口,设置波特率为 115200。

  2. 复位开发板,按任意键进入启动选项界面,选择 0 进入 u-boot shell,如下图所示。

  3. 以下命令序列实现从 tftp 服务器下载镜像并引导执行。

    OK335X# setenv loadaddr 0x80000000              //设置 tftp 文件下载地址
    OK335X# setenv ipaddr 192.168.1.11              //设置设备 ip
    OK335X# setenv serverip 192.168.1.21            //设置 tftp 服务器 ip
    OK335X# setenv bootfile bspok335xs.bin          //设置 tftp 文件,即 SylixOS 可执行镜像
    OK335X# setenv bootcmd 'tftp; go 0x80000000'    //设置启动命令
    OK335X# save                                    //保存设置
    
  4. 如需将系统镜像固化到内部 nand flash,则在 TFTP 下载完镜像后执行以下烧录命令,并修改引导命令从 nand flash 引导系统。

    OK335X# nand erase c00000 300000                   //擦除 flash
    OK335X# nand write.i 80000000 c00000 ${filesize};  //保存镜像到 flash
    OK335X# setenv bootcmd 'nand read 80000000 c00000 300000; go 0x80000000'
                                                       //设置启动命令,从 nand flash 启动
    OK335X# save                                       //保存设置
    
  5. AM335X 支持从 SD 卡更新系统,执行以下命令序列可实现 SD 卡更新功能。

    nand erase.chip                                     //擦除整片 flash
    mmc rescan                                          //重新检测 SD 卡
    fatload mmc 0 80A00000 MLO                          //从 SD 卡读取 MLO
    nand write.i 80A00000 0 ${filesize}                 //烧写 MLO 到 flash
    fatload mmc 0 80A00000 u-boot.img                   //从 SD 卡读取 u-boot 镜像
    nand write.i 80A00000 800000 ${filesize}            //烧写 u-boot 镜像到 flash
    fatload mmc 0 80A00000 bsp$(PLATFORM).bin           //从 SD 卡读取操作系统镜像
    nand write.i 80A00000 c00000 ${filesize};           //保存操作系统镜像到 flash
    setenv bootcmd 'nand read 80000000 c00000 300000; go 0x80000000' 
                                                        //设置启动命令,从 nand flash 启动
    OK335X# save                                        //保存设置
    
  6. 本文中镜像以 TFTP 方式下载,在执行上述步骤 3 命令序列后,在 IP 为 192.168.1.21 的计算机上运行 RealEvo-IDE,选择菜单 Tools > TFTP Server 打开 TFTP 服务器配置对话框,设置 bspok335xs.bin 所在文件夹,TFTP 默认端口为 69,一般情况不需要改变,如下图所示。

  7. 重启 AM335X 设备进入 SylixOS 系统。

    AM335X 使用 cotex-a8 处理器,所以 Base Project 的通用设置中需要选择 cotex-a8 处理器。

    RealEvo-IDE不内置AM335X的BSP模板,可以联系翼辉公司获取最新的BSP工程源码。

    下载BSP完成后可以启动SylixOS,通过串口或 Telnet(需先通过串口设置 IP)登录目标系统可看到 SylixOS Shell 界面,Shell 的使用可参考附件中的《 SylixOS Shell 命令手册》。

    BSP 镜像部署完成后需下载基础库和驱动模块文件,按照“部署 Base” 部署即可。

文档内容是否对您有所帮助?
有帮助
没帮助