NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL)

2024-05-15 15:44

本文主要是介绍NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1. 开发环境

2. 二级BOOT的功能

3. 步骤

3.1 配置源码

3.2 构建项目

3.2.1 MDK

3.2.2 IAR(IAR也编译一下工程看看,这样两个平台都可以支持了)


        单核M7的开发!!

1. 开发环境

        本文Windows下开发:

编译方法(以下三种选其一即可):

  • 工具链: GCC_ARM toolchain
  • IDE: IAR IDE v8.40以上
  • IDE:MDK IDE v5.30 
官方SDK获取: 
git clone https://github.com/NXPmicro/sbl.git .

2. 二级BOOT的功能

        主要功能是UART/USB烧写固件,FOTA,加密启动;安全引导BOOT(SBL)要和安全固件( SFW )配合使用。

3. 步骤

3.1 配置源码

        进入SBL目录 sbl/target/evkmimxrt1170/,双击脚本批处理文件 env.bat,会弹出终端配置界面,可以配置当前工程
运行 scons --menuconfig 命令,就会生成 SBL 配置菜单:

 

        根据具体的平台和具体的应用来配置SBL 项目。配置完成后,保存配置并退出菜单。
我这里配置如下:
(1)不使能verify sbl,也不使能single image
(2)FLASH的分配做了调整
(3)XIP使能
后面篇章具体介绍XIP是干嘛的,反正你要知道就地执行需要XIP,何为就地执行,即:代码不搬运,直接加载运行,一般是直接跑在Nor上。

 (4)FLASH换型号

(5)SDRAM暂时没开

(6)其他均默认

3.2 构建项目

       上面就是界面话修改源码,开关一些宏定义,代码确定了就可以编译了。

3.2.1 MDK

这里使用MDK编译。

(1)工程创建

        还是这个终端,键入命令scons --ide=mdk5

        这样这个目录 sbl/target/evkmimxrt1170/mdk/ 就生成了工程文件:

 

        打开sbl.uvprojx就是。

(2)安装pack

        MDK安装器件支持包:

        

 (3)生成.bin文件

(4)直接构建项目

3.2.2 IAR(IAR也编译一下工程看看,这样两个平台都可以支持了)

这里使用IAR编译。

(1)bin文件

(2)编译

   下一篇记录加密的问题。

这篇关于NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992234

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用