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

织梦后台怎么建设网站建设企业网站专业服务

织梦后台怎么建设网站,建设企业网站专业服务,wordpress上传js,汽车网址导航大全文章目录 一、概要二、内部FLASH排布三、内部FLASH主要特色四、OTP函数介绍五、测试验证 一、概要 STM32系列是一款强大而灵活的微控制器#xff0c;它的片内Flash存储器可以用来存储有关代码和数据#xff0c;在实际应用中#xff0c;我们也需要对这个存储器进行读写操作。… 文章目录 一、概要二、内部FLASH排布三、内部FLASH主要特色四、OTP函数介绍五、测试验证 一、概要 STM32系列是一款强大而灵活的微控制器它的片内Flash存储器可以用来存储有关代码和数据在实际应用中我们也需要对这个存储器进行读写操作。 STM32的FLASH主存储块按页组织有的产品每页1KB有的能到2KB页面典型的用途就是用于按页擦除FLASHSTM32F407的FLASH页大一点能到16K我们也叫做扇区。 二、内部FLASH排布 1. 根据用途STM32片内的FLASH分成两部分主存储块、信息块。 2. 主存储块用于存储程序我们写的程序一般存储在这里用户还可以存储数据。信息块又分成两部分系统存储器、OTP、选项字节。 3. 系统存储器存储用于存放在系统存储器自举模式下的启动程序(BootLoader)当使用ISP方式加载程序时就是由这个程序执行。这个区域由芯片厂写入BootLoader然后锁死用户是无法改变这个区域的。 4. OTP(One Time Program)区域指的是只能写入一次的存储区域容量为528字节写入后数据就无法再更改OTP常用于存储应用程序的加密密钥。 5. 选项字节存储芯片的配置信息及对主存储块的保护信息主要有写保护字节读保护字节等。 STM32F407产品主存储块512KB 每个扇区16KB~128K大小不等一共有7个扇区 三、内部FLASH主要特色 容量大的芯片可以高达 1 MB 容量128 位宽数据读取字节、半字、字和双字数据写入扇区擦除与批量擦除存储器构成 Flash 结构如下:   — 主存储器块含 4 个 16 KB 扇区、1 个 64 KB 扇区 和 7 个 128 KB 扇区。   — 系统存储器器件在系统存储器自举模式下从该存储器自举。此区域为意法半导体预留其中包含自举程序用以通过以下接口之一对 Flash 进行重新编程USART1、USART3、CAN2、USB OTG FS 设备模式DFU设备固件升级。自举程序由 ST 在器件制造期间编写用于防止误写/误擦除操作。   — 512 OTP一次性可编程字节用于存储用户数据。OTP 区域包含 16 个附加字节用于锁定相应的 OTP 数据块。   — 选项字节读写保护、BOR 级别、软件/硬件看门狗以及器件在待机或停机模式下的复位。 四、OTP函数介绍 1. HAL_StatusTypeDef HAL_FLASH_Unlock(void)   作用解锁FLASH控制寄存器访问   返回值写寄存器的状态 2. HAL_StatusTypeDef HAL_FLASH_Lock(void)   作用锁定FLASH控制寄存器访问   返回值写寄存器的状态 3. HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)   作用解锁FLASH选项控制寄存器访问   返回值写寄存器的状态 4. HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)   作用锁定FLASH选项控制寄存器访问   返回值写寄存器的状态 5. HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)   作用启动选项字节加载   返回值写寄存器的状态 6. HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)   作用通过选定的字节类型进行数据写入   返回值写寄存器的状态 7. OPT数据读写过程代码由于OPT是用户数据的一次性写入所有需要确定写入的数据无误不然存储的数据一旦写入就无法再进行更改但是可以进行无数次的读写。 // 定义OPT区域的起始地址和结束地址 #define OPT_START_ADDR 0x1FFF7800 #define OPT_END_ADDR 0x1FFF7A0F/*** brief 写入数据到OPT区域* param data需要写的用户数据* param size数据个数*/ void write_to_opt(uint32_t *data, uint32_t size) {uint32_t addr OPT_START_ADDR;HAL_StatusTypeDef status;// 检查数据大小是否超过OPT区域的大小if ((size * 4) (OPT_END_ADDR - OPT_START_ADDR)){return;}HAL_FLASH_Unlock(); // 解锁FLASHstatus HAL_FLASH_OB_Unlock(); // 解锁选项字节区域HAL_FLASH_OB_Launch(); // 生效设置// 写入OPT数据for (uint32_t i 0; i size; i){// 按字写入数据status HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, addr, data[i]);if (status ! HAL_OK){rt_kprintf(opt data write error!!!\n);break;}addr 4;}// 锁定FLASHHAL_FLASH_OB_Lock();HAL_FLASH_Lock(); }// 读取OPT区域的数据 void read_from_opt(uint32_t *data, uint32_t size) {uint32_t addr OPT_START_ADDR;for (uint32_t i 0; i size; i){data[i] *(uint32_t*) addr;addr 4;} }/*** brief 设置OPT数据*/ int write_opt_data(int argc, char **argv) {if (argc ! 2 argc ! 3){return -RT_ERROR;}else{if (strcmp(argv[0], opt) 0){if (argc 3){if (strcmp(argv[1], w) 0){int size atoi(argv[2]);uint32_t time[50] {0};if (atoi(argv[2]) 50){read_from_opt(time, size);for (int i 0; i size; i){rt_kprintf(time[%d]:%u\n, i, time[i]);}}}}else{uint32_t time (uint32_t)strtol(argv[1], NULL, 16);rt_kprintf(time:%u(0x%X)\n, time, time);write_to_opt(time, 1);}}else{return -RT_ERROR;}}return RT_TRUE; } MSH_CMD_EXPORT_ALIAS(write_opt_data, opt, write_opt_data);五、测试验证 通过下面的测试数据可以看到当第一次写入数据之后可以正常读取导数据读取的数据是写入的数据。当第二次重新写入数据的时候读取到的数据还是之前写入的数据没有改变因此说明OPT数据只会被写入一次然后无法再次写入。
http://www.w-s-a.com/news/834717/

相关文章:

  • 网站开发运营经理打开百度竞价页面是网站是什么
  • 国内最专业的设计网站建设现在用什么语言做网站
  • 湖南网站开发 岚鸿象山县建设工程招投标网站
  • 长沙免费网站排名wordpress 教学
  • 专门做app的网站html代码是什么
  • 临沂网站制作建设欧米茄表官网
  • 北京模板网站开发全包网站建设的第三方平台
  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站
  • 怎样建一个自己公司的网站制作网站需要钱吗
  • 联盟网站制作wap网站制作公司
  • 美丽乡村建设发展论坛网站wordpress 仿站 教程网
  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展
  • 有女人和马做网站吗宁波seo优势
  • 网站做用户记录表电商运营推广计划方案
  • 网站备案认领杭州网页设计公司招聘
  • 易签到网站开发设计做网站运营有前途吗
  • 南通网站建设心得2023必考十大时政热点
  • 苍溪建设局网站公建设计网站
  • 九歌人工智能诗歌写作网站电子商务网站建设项目书
  • 做外贸的经常浏览的三个网站律师做哪个网站好
  • 中国公路建设招标网站长沙大型网站建设公司