当前位置: 首页 > news >正文

做曖网站水平优化

做曖网站,水平优化,东莞网站建设兼职,郑州做商城网站💌 所属专栏:【BES2500x系列】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1f49…

请添加图片描述

  • 💌 所属专栏:【BES2500x系列】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩 🤩 🤩

请添加图片描述

文章目录

  • 前言
  • 1 什么是Flash
  • 2 获取Flash参数
  • 3 修改Flash参数
  • 4 注意事项
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【BES2500x系列】专栏的第8篇文章;
  今天开始学习BES2500x系列的一天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【BES2500x系列】, 此专栏是我是夜阑的狗对BES2500x系列开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


<<【系列文章索引】>>

1 什么是Flash

  前面已经介绍了GPIO配置之后。接下来就来讲解一下flash的使用吧。话不多说,让我们原文再续,书接上回吧。

请添加图片描述

  在嵌入式系统中,Flash存储器是一种非易失性存储器,它能够在断电后保留数据,常用于存储固件、操作系统(OS)、配置信息和其他关键数据。在实时操作系统(RTOS)如Keil RTX中,Flash参数涉及到启动加载程序、分区管理、以及系统更新等方面,对系统的正常运行至关重要。

2 获取Flash参数

  获取Flash参数通常涉及到以下几个步骤:

  Step 1、只能获取到结构体 nvrecord_env_t 中包含的参数,如果需要获取新的参数,需要添加到结构体中
  Step 2、查阅芯片数据手册:首先,你需要查看目标MCU的数据手册,了解其Flash存储器的特性,如存储容量、页大小、擦除和编程时间、地址空间等。
  Step 3、检查固件配置:如果系统已经存在固件,你可以查找相关的配置文件或源代码,这些文件可能包含了关于Flash分区、地址映射和访问方式的信息。
  Step 4、使用工具链:某些开发环境,如 Keil MDK ,提供了工具来查看和分析已烧录的固件,如μVision调试器的 Memory ViewSystem Viewer
  Step 5、RTOS配置:在RTX中,Flash参数可能包含在RTOS配置文件中,如rtx_config.hrtos_config.h 。这些配置文件可能定义了启动地址、堆栈位置、系统区域等。

  • 代码
/*** 获取当前环境的nvrecord_env实例。* * @param nvrecord_env 指向nvrecord_env_t指针的双指针,用于接收环境实例的地址。* @return 函数成功返回0,如果参数错误或环境实例未初始化则返回-1。*/
int nv_record_env_get(struct nvrecord_env_t **nvrecord_env)
{// 检查传入的nvrecord_env指针是否为NULLif (!nvrecord_env)return -1;// 检查全局nvrecord_env_p指针是否已初始化if (!nvrecord_env_p)return -1;// 将全局nvrecord_env_p指针的值赋给传入的指针变量*nvrecord_env = nvrecord_env_p;return 0;
}
  • 参数/函数讲解
序号参数/函数说明
1nv_record_env_get获取 Flash 中的环境参数

3 修改Flash参数

  修改Flash参数通常是为了适应不同的固件布局或优化系统性能:

序号功能说明
1调整分区根据应用程序的需求,可能需要重新分配Flash分区,比如增加或减少存储用户数据的空间,或为新的固件更新区域分配空间。
2调整启动配置可能需要更改启动地址,特别是当使用不同版本的RTOS或固件时。
3优化访问速度根据MCU的特性和应用需求,可能需要调整Flash访问参数以提高读写速度。
4修改固件更新机制如果系统支持固件更新,需要确保更新过程的安全性和可靠性,可能需要调整擦除和编程的参数。

  修改参数通常在源代码级别完成,涉及修改配置文件、初始化函数或链接脚本。确保修改后的参数符合硬件限制并经过充分测试。

  • 代码
/*** 设置环境参数* * 本函数用于设置nvrecord_env结构体中的环境参数。在执行设置之前,会检查传入的环境结构体指针和* nvrecord_env_p指针是否为空,如果任一为空,则不进行设置操作并返回错误码-1。成功执行设置操作后,* 会更新运行时的用户数据。* * @param nvrecord_env 指向nvrecord_env_t结构体的指针,包含了需要设置的环境参数。* @return 函数执行成功返回0,失败返回-1。*/
int nv_record_env_set(struct nvrecord_env_t *nvrecord_env)
{// 检查传入的环境参数指针是否为空if (!nvrecord_env)return -1;// 检查全局环境参数指针是否为空if (!nvrecord_env_p)return -1;// 更新运行时的用户数据nv_record_update_runtime_userdata();return 0;
}

  本函数用于设置 nvrecord_env 结构体中的环境参数。在执行设置之前,会检查传入的环境结构体指针和 nvrecord_env_p 指针是否为空,如果任一为空,则不进行设置操作并返回错误码 -1 。成功执行设置操作后,

  • 参数/函数讲解
序号参数/函数说明
1nv_record_update_runtime_userdata更新运行时的用户数据

  只能修改结构体 nvrecord_env_t 中的参数,如果需要修改其他参数,需要在结构体中添加新的参数

  • 代码
/*** @struct nvrecord_env_t* 定义了一个包含多种环境配置信息的结构体。*/
struct nvrecord_env_t
{	/**< 媒体语言配置 */struct media_language_t media_language; ....../**< IBBR模式配置 */struct ibrt_mode_t ibrt_mode; /**< 工厂测试仪状态配置 */struct factory_tester_status_t factory_tester_status; ....../**< 人工智能管理器信息 */AI_MANAGER_INFO_T   aiManagerInfo; 
};
  • 参数/函数讲解
序号参数/函数说明
1nvrecord_env_t定义了一个包含多种环境配置信息的结构体

4 注意事项

  在处理Flash参数时,务必遵循以下几点:

  • 备份原始数据:在修改参数前,确保有备份,以防意外导致数据丢失。
  • 遵循硬件限制:不要超过Flash的物理限制,如最大擦除次数、最小编程单位等。
  • 验证兼容性:修改后,检查新的参数是否与RTOS、编译器和调试工具兼容。
  • 测试与验证:每次修改后,都需要通过完整的测试套件来验证系统行为,确保所有功能正常工作。
  • 安全考虑:在固件更新过程中,确保有适当的错误恢复机制,防止系统因更新失败而无法启动。

  理解和正确操作Flash参数对于RTX系统来说是至关重要的,它直接影响到系统的稳定性和可扩展性。确保在修改参数时遵循最佳实践,以确保系统的可靠运行。

<<【系列文章索引】>>

请添加图片描述


总结

  感谢观看,这里就是 boot loader 引导程序的讲解,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

在这里插入图片描述

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】

  • 🥇 【恒玄BES】

  • 🌼 【鸿蒙系统】

  • 💎 【蓝牙协议栈】

  • 🎃 【死机分析】

  • 👑 【Python脚本笔记】

  • 🚝 【Java Web项目构建过程】

  • 💛 【微信小程序开发教程】

  • 【JavaScript随手笔记】

  • 🤩 【大数据学习笔记(华为云)】

  • 🦄 【程序错误解决方法(建议收藏)】

  • 🔐 【Git 学习笔记】

  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!

http://www.khdw.cn/news/38696.html

相关文章:

  • 凡客诚品网站推广农技推广
  • 锦州市做网站seo优化包括什么
  • h5微信网站开发品牌建设
  • 人才网站的会计账如何做网络广告怎么做
  • 在哪里建网站好为企业策划一次网络营销活动
  • 中企动力邮箱企业版石家庄seo外包公司
  • 织梦网站联系我们的地图怎么做网络网站推广优化
  • 个人论坛类网站杭州seo整站优化
  • 中小型企业网搭建石家庄seo代理商
  • 义乌网红村百度seo关键词优化
  • 合肥住房和建设厅网站首页c++培训班学费一般多少
  • 电子商务网站建设教学全国新增确诊病例
  • 多个wordpress 用户鼓楼网页seo搜索引擎优化
  • 云南做网站自媒体十大平台
  • 网站后台管理系统的主要功能百度提问在线回答问题
  • 湖南智能网站建设seo数据优化教程
  • 长宁区网站建设网页制搜索seo优化托管
  • 相亲网站怎么做seo推广软件下载
  • 榆次做企业网站电商网站搭建
  • 买域名后 怎么做网站竞价推广外包托管
  • wordpress 导入用户名密码贵阳seo网站管理
  • 中国建设部网站失信名单百度指数疫情
  • 南阳手机网站建设北京搜索引擎推广服务
  • 网站需要怎么做的上海seo网站优化软件
  • 深圳成豪设计郑州网络seo公司
  • 寿光企业建站流程培训计划模板
  • 电子商务作业做网站网络营销运营推广
  • 日本dns网站大全情感网站seo
  • 未来商城网站建设网络优化师
  • 如何免费建立个人网站推广赚佣金的软件排名