海思3716SDK编译烧写步骤详解
4星 · 超过85%的资源 需积分: 50 83 浏览量
更新于2024-09-11
2
收藏 3KB TXT 举报
"本文档详细介绍了在海思平台3716上进行SDK编译和烧写的步骤,包括SDK环境的准备、配置修改、编译过程以及制作引导参数等关键环节。"
在进行海思平台3716的SDK开发时,首先需要获取并安装对应的SDK包。例如,这里提到了`Hi3716XV100R001C00SPC0A1.tar.gz`和`Hi3716XV100R001C00SPC0A2.tar.gz`这两个版本的SDK。解压这些文件后,通常会有一个`patch_install.sh`脚本,用于进行SDK环境的初始化和配置。
配置SDK环境时,需要修改`cfg.mak`文件,设置芯片类型(如`CFG_CHIP_TYPE=hi3716c`)、板型(如`CFG_BOARD_TYPE=hi3716cdmoverb`)以及其它与硬件相关的参数,如启动寄存器配置(`CFG_BOOT_REG`)、环境变量地址和大小(`CFG_ENV_ADDR`和`CFG_ENV_SIZE`)、NAND Flash的块大小和页大小(`CFG_NAND_BLOCK_SIZE`和`CFG_NAND_PAGE_SIZE`)以及ECC类型(`CFG_NAND_ECC_TYPE`)。
完成配置后,进入编译阶段。执行`make build`命令,这将编译内核、文件系统以及其他必要的组件。编译完成后,生成的文件通常位于`HisiSDK/pub/image`目录下,如`fastboot-burn.bin`和`rootfs.yaffs`,它们分别代表固件映像和根文件系统。
接下来是制作loader,这通常涉及编译`uImage`(即加载器)。在`source/osdrv/kernel/linux-2.6.35/arch/arm/boot`目录下找到并执行`make hiloader_build`。编译完成后,loader会被打包成`mini_uImage`,并放置在相应的目录下。
为了使设备能够正确启动,还需要创建`bootargs.bin`文件。这个文件包含启动参数,这些参数定义了系统的运行方式。可以使用`mkbootargs`工具,根据`bootargs.txt`中的内容生成`bootargs.bin`。例如,示例中提供的`bootargs.txt`包含了内存大小、控制台设置、根文件系统类型、内存区域分配以及MTD分区等参数。
最后,所有这些组件(loader、根文件系统、启动参数等)都会被烧写到设备的存储介质上,如NAND Flash。在这个过程中,通常会用到fastboot工具或者其它烧录工具。烧写完成后,设备就可以通过这些编译好的组件启动并运行用户的应用程序。
总结来说,海思平台3716的SDK编译烧写流程涉及到SDK环境的搭建、配置文件的修改、内核和文件系统的编译、loader的制作、启动参数的生成以及最后的烧写步骤。每个环节都需要精确无误地执行,以确保软件能成功运行在硬件平台上。对于开发者而言,熟悉这个流程是进行高效开发和调试的基础。
2018-01-08 上传
2019-07-16 上传
2022-03-08 上传
2021-06-20 上传
2015-09-24 上传
2018-07-16 上传
2018-07-17 上传
2018-04-12 上传
xyk_code
- 粉丝: 3
- 资源: 9
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫