【嵌入式Linux-02】SSD20X 平台网关开发环境搭建与开发全流程指南

📅 2026/7/12 21:56:12 👁️ 阅读次数 📝 编程学习
【嵌入式Linux-02】SSD20X 平台网关开发环境搭建与开发全流程指南

一、前言

本文基于SSD20X 平台网关开发指导书,梳理从 Linux 编译环境搭建、SDK 获取编译、固件烧录、工具使用到 OTA 升级、外设适配的完整开发流程,覆盖环境搭建、编译、烧录、调试、升级全环节,助力开发者快速上手 SSD20X 平台网关开发。

二、开发环境总览

SSD20X 平台采用宿主机 + 目标机交叉编译开发模式:

  • 宿主机:推荐Ubuntu 16.04(Server 版)
  • 连接方式:串口(日志打印,波特率 115200)、专用 Debug Tool(烧录 / 寄存器调试)
  • 核心工具:交叉编译链、Flash_Tool、Tftpd32、Sstar System Tool

三、Ubuntu 编译环境搭建

1. 系统安装

  1. 准备 VMware Workstation,下载 Ubuntu 16.04 Server 镜像
  2. 新建虚拟机,装载 ISO 完成简易安装
  3. 安装 VMtools,实现 Windows 与 Ubuntu 文件共享

2. 基础配置

  1. 设置 root 密码
sudo passwd
  1. 创建自定义用户(如 beal.wu)
sudo adduser beal.wu --force
  1. 赋予用户 sudo 权限
sudo chmod u+w /etc/sudoers vi /etc/sudoers # 添加:beal.wu ALL=(ALL:ALL) ALL sudo chmod u-w /etc/sudoers
  1. 更换默认 sh 为 bash
sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh

3. 必备依赖安装

sudo apt-get update # 编译依赖库 sudo apt-get install libncurses5-dev libncursesw5-dev libc6-dev-i386 lib32z1 lib32ncurses5 libuuid1:i386 # 编译工具 sudo apt-get install cmake bc xz-utils automake libtool pkg-config libevdev-dev # 共享与远程工具 sudo apt-get install samba samba-common openssh-server

4. Samba 共享配置(Windows 访问 Ubuntu)

  1. 添加 Samba 用户
sudo smbpasswd -a beal.wu
  1. 配置共享目录
vi /etc/samba/smb.conf # 添加配置 [beal.wu] path=/home/beal.wu public=yes writable=yes valid users=beal.wu available=yes browseable=yes guest ok = yes
  1. 重启服务
sudo service smbd restart
  1. Windows 访问:\\Ubuntu_IP

5. 交叉编译工具安装

  1. 拷贝工具链gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz/opt/
  2. 解压
tar zxvf gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz -C /opt/
  1. 添加环境变量
vi /etc/profile # 添加:export PATH=/opt/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin:$PATH source /etc/profile
  1. 验证
arm-linux-gnueabihf-gcc -v

四、SDK 获取与编译

1. SDK 获取

联系 FAE 从 FTP 下载完整 SDK 包,包含 4 部分:

  • boot:Uboot 源码
  • kernel:Linux 4.9.84 内核
  • project:镜像制作、闭源库
  • sdk:应用 Demo、打包框架

2. SDK 解压

tar zxvf boot-TAKOYAKI_DLC00V030.tar.gz tar zxvf kernel-TAKOYAKI_DLC00V030.tar.gz tar zxvf project-TAKOYAKI_DLC00V030.tar.gz tar zxvf sdk-TAKOYAKI_DLC00V030.tar.gz

3. 编译链指定

declare -x ARCH="arm" declare -x CROSS_COMPILE="arm-linux-gnueabihf-"

4. Boot(Uboot)编译

  1. 进入 boot 目录,根据 Flash 类型选择配置
  • Nand Flash:

make infinity2m_spinand_defconfig;

make menuconfig

  • Nor Flash:

make infinity2m_defconfig;

make menuconfig

  1. 编译
make clean; make -j8
  1. 输出文件拷贝到 project 对应目录
  • Nand:

cp u-boot_spinand.xz.img.bin project/board/i2m/boot/spinand/uboot

  • Nor:

cp u-boot.xz.img.bin project/board/i2m/boot/nor/uboot

5. Kernel 编译

  1. 进入 kernel 目录,根据 Flash 类型选择配置
  • Nand:make infinity2m_spinand_ssc011a_s01a_minigui_defconfig; make menuconfig
  • Nor:make infinity2m_ssc011a_s01a_minigui_defconfig; make menuconfig
  1. 编译
make clean; make -j8
  1. 内核镜像拷贝到 project 目录

6. Project 工程编译

  1. 进入 project 目录,根据Flash 类型 + DDR 容量选择配置

SSD201(64M) Nand:

./setup_config.sh

./configs/nvr/i2m/8.2.1/spinand.glibc.011a.64

SSD202(128M) Nand:

./setup_config.sh

./configs/nvr/i2m/8.2.1/spinand.glibc.011a.128

SSD201(64M) Nor:

./setup_config.sh

./configs/nvr/i2m/8.2.1/nor.glibc-squashfs.011a.64

  1. 释放内核资源(修改内核配置时执行)
./release.sh -k
  1. 生成镜像
make image
  1. 镜像输出路径:project/image/output/images

五、固件烧录

1. 烧录方式选择

  • 可进入 Uboot:优先Tftp 烧录
  • 空片 / 无法进 Uboot:Flash_Tool(ISP_Tool)烧录

2. Flash_Tool 空片烧录

  1. 硬件:专用 Debug Tool 连接板子,关闭串口终端
  2. 选择 Flash 类型(Nand/Nor)
  3. 按分区地址依次烧录文件
  • Nand Flash:GCIS.bin(0x00000)→IPL.bin(0x140000)→IPL_CUST.bin(0x200000)→u-boot_spinand.xz.img.bin(0x2C0000)
  • Nor Flash:IPL.bin(0x00000)→IPL_CUST.bin(0x10000)→MXP_SF.bin(0x20000)→u-boot.xz.img.bin(0x30000)
  1. 点击 Run,提示 Pass 即烧录成功

3. Tftp 烧录(可进 Uboot)

  1. 打开 Tftpd32,指定镜像目录
  2. Uboot 控制台配置 IP
setenv serverip 电脑IP; setenv ipaddr 板子IP; saveenv; estart; # 开启网卡 estar; # 执行自动烧录

六、SigmaStar 开发工具使用

1. Sstar System Tool(寄存器调试)

  1. 安装 Debug Tool 驱动,连接硬件
  2. 停串口:Uboot 输入debug/ 系统输入11111
  3. 打开工具,配置:Chip→MSD 2x10 Series、Interface→I2C、Slave Addr.→0xB2
  4. 选择 Bank (1002-1016)→MIU→Read Bank,读取正常即连接成功

2. Flash 擦除

  1. Flash_Tool 选择对应 Flash 类型
  2. 勾选All Chip,加载 GCIS.bin
  3. 点击 Run,完成全片擦除

七、常见烧录错误排查

  1. 硬件连接错误:Debug Tool 接线RX 接 RX、TX 接 TX、GND 接 GND
  2. Flash 类型选错:Nand 选 SPINAND,Nor 选 SPINOR
  3. 缺少 SPINANDINFO.sni:补充工具配置文件
  4. 串口未关闭:烧录前关闭所有串口终端

八、OTA 升级与本地升级

1. OTA 升级(远程分区升级)

  1. 打包:project 目录执行make image-ota,选择升级分区,生成SStarOta.bin.gz
  2. 解包升级:板子用otaunpack工具执行解包升级

2. SD 卡 / U 盘升级(本地 Uboot 升级)

  1. 制作升级包
  • SD 卡:

./make_sd_upgrade_sigmastar.sh

生成SigmastarUpgradeSD.bin

  • U 盘:

./make_usb_upgrade_sigmastar.sh

生成SigmastarUpgrade.bin

  1. 升级操作
  • SD 卡:

Uboot 输入

sdstar

  • U 盘:配置端口

setenv UpgradePort 1

saveenv

usbstart

九、WLAN(WiFi)适配

  1. 内核配置:开启CFG80211Wireless Extension
  2. DTS 配置:修改infinity2m.dtsi,使能 SDIO WIFI(SSW102B)
  3. 复位脚配置:屏蔽默认 GPIO0 复用,Uboot 添加 GPIO 复位控制

十、总结

SSD20X 平台网关开发核心流程为:Ubuntu 环境搭建→交叉编译工具配置→SDK 编译→固件烧录→调试与升级。本文覆盖开发全环节,开发者可按步骤快速完成环境部署与开发调试,结合官方 SDK 与工具,高效完成网关产品开发。