• 本文以目前最新版本(TAKOYAKI_DLS00V008)的 SDK 为例,讲述 SigmastarSSD201/202 环境搭建


  • 源码下载

  • 下载 kernel 源码 从 https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/上下载 linux-4.9.84.tar.gz。

  • 下载 uboot 源码

  • 从 ftp://ftp.denx.de/pub/u-boot/下载 u-boot-2015.01.tar.bz2

  • 下载 buildroot 源码
    从 https://buildroot.org/downloads/下载buildroot-2020.05.tar.bz2。

  • 下载 project
    从百度云链接下载source/project.tar.bz2。

  • 下载 source/Release_to_customer.sh

  • 下载交叉编译工具
    从百度云链接下载
    source/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz

  • 下载patch
    从百度云链接下载 patch/ssd201_kernel_4.9.84.patch 和
    patch/ssd201_u_boot_2015. 01.patch。

安装交叉编译链
解压 gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz # tar -xvf gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz -C .

修改环境变量

vi ~/.bashrc


验证

source ~/.bashrc

which arm-linux-gnueabihf-gcc

安装 SDK 源码
将“源码下载”步骤下载的文件放在 Linux 系统同一个目录下,接着执行以下步骤完成 SDK 源码的安装。
安装 uboot 源码

tar -jxvf u-boot-2015.01.tar.bz2 -C .

cd u-boot-2015.01

patch -p1 < …/ssd201_u_boot_2015.01.patch

chmod a+x create_img.sh mz mkimage

解压 project 源码

tar -jxvf project.tar.bz2 -C .

源码编译
在完成第一章的工作后,我们将得到一个目录包含如下文件:

配置编译脚本
编译脚本为 Release_to_customer.sh,通过它可以编译整个工程,包括 uboot、kernel 和 rootfs。在运行前需要对其修改配置:

  • 修改镜像保存路径,镜像保存于${RELEASEDIR}/images/目录下;

RELEASEDIR=/home/ronnie/work/ssd201/ssd20x_sdk_v008


修改 ARCH 为 arm

export ARCH=arm


优化编译速度


开始编译
可以看到 Release_to_customer.sh 脚本执行时需要传递 3 个参数(-f、-p、-q);
-f 表示 flash 的类型,可选 nand、nor;
-p 表示芯片型号,可选 ssd201、ssd202;
-q 表示快速启动模式,可选 fastboot 或空;

这里以 nand+ssd201 为例,开始编译源码:

./Release_to_customer.sh -f nand -p ssd201

编译完成后,将在 images 目录下生成系统镜像,接着我们就可以通过第三章的操 作将这些镜像烧录到芯片中。

在编译过一次后,如果不换芯片型号,可以把 Release_to_customer.sh 中 uboot 和 kernel 的 make clean 注释。

编译 buildroot
Release_to_customer.sh 没有包含 buildroot 的配置,因此 buildroot 需要单独配置。

tar -jxvf buildroot-2020.05.tar.bz2 -C .

cd buildroot-2020.05/

ARCH=arm make menuconfig

Target options ->

Toolchain -->

make 编译完成后,将在 output/target/目录下生成我们需要的文件系统,将在后续应用到。

小明分享| SigmastarSSD201环境搭建及源码编译相关推荐

  1. 《在(虚拟机)ubuntu16.04上进行openwrt环境搭建及源码下载》

    广西·河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来之河池学院:OpenWrt无线路由组 写作时间: 2020年7月30日21:00:51 <在(虚拟机)ubun ...

  2. Ubuntu18.04搭建Android源码编译环境

    一.前言 使用Ubuntu18.04搭建Android源码的编译,本文是参考Android系统源码编译文章撰写的. 二.步骤 1.下载Android源码.Ubuntu环境搭建.git安装请参考其他文章 ...

  3. LNMP架构搭建(源码编译)

    1. LNMP架构介绍 LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:d ...

  4. 基本lnmp平台的搭建(源码编译)

    lnmp :linux ,nginx ,mysql ,php 系统环境:rhel6.0    selinux and iptables disabled  (这里我们都只用源码编译的方式) 1 ste ...

  5. linux git编译安装目录,Linux(centos) 环境下如何源码编译安装git

    21运维原创,转载请注明出处. 最近线上要使用git进行代码发布和版本管理了,之前搞过,一直没有做记录.从今儿起开始记录这块. linux上(当前文章使用的是centos,ubuntu采用apt-ge ...

  6. Centos环境下mysql源码编译安装

    yum -y install gcc gcc-c++ ncurses-devel perl ##从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本. wget --no ...

  7. effective java英文版pdf_Java之Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse...

    框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...

  8. irule jar包无法导入_Java之Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse...

    框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...

  9. SSH框架总结(框架分析+环境搭建+实例源码下载)

     版权声明:本文为博主原创文章,未经博主允许不得转载. 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用 ...

最新文章

  1. 四种方式主导你的第一个敏捷项目
  2. 转Java工程师成神之路
  3. 关于多目标任务有趣的融合方式
  4. String类的intern()
  5. 九月腾讯,创新工场,淘宝等公司最新面试三十题(更新至10.04)
  6. linux版_微软爱 Linux:安全杀毒软件 Defender ATP 要出 Linux 版了! | Linux 中国
  7. 收获不止oracle在线,重温《收获不止Oracle》
  8. vim 图解常用快捷键操作
  9. 使用Ntdsutil.exe捕获系统状态数据
  10. [docker学习笔记] 0.工具/环境
  11. windows扫雷的模拟实现(C语言)
  12. 给定经纬度计算距离_根据两点经纬度计算距离!
  13. ansys部分边界条件详解
  14. oracle出现ora 12514,Oracle 11g ORA-12514 解决办法
  15. sdk 今日头条_今日头条大数据分析平台艰辛成长路
  16. 所以为什么要学ps?
  17. OLED屏幕还未普及,移动VR没有想象中爆发那么快
  18. Java(老白再次入门) - 语言基础
  19. cv::watershed(img,mask)
  20. 查询电话号码归属地的PHP接口(处理过可供前端使用的)

热门文章

  1. Android应用性能优化之使用SparseArray替代HashMap(转)
  2. ant警告 “warning: 'includeantruntime' was not set”解决方法
  3. 详解mybatis的配置setMapperLocations多个路径两种方法
  4. SpringCloud教程-消息总线Bus 客户端(client)刷新(SpringCloud版本Greenwich.SR4)
  5. java juc包多线程编程案例:Executor入门示例
  6. Ansible PLaybook template 模板详解
  7. k8s部署nacos集群:3个pod、连接外部mysql读写分离集群
  8. Scala关系运算符的一览图
  9. Scala 语言转义字符
  10. MySQL事务的特性及事务隔离级别演示