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实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

SpringBoot加载profile全面解析

《SpringBoot加载profile全面解析》SpringBoot的Profile机制通过多配置文件和注解实现环境隔离,支持开发、测试、生产等不同环境的灵活配置切换,无需修改代码,关键点包括配置文... 目录题目详细答案什么是 Profile配置 Profile使用application-{profil

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁