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

汽车精品网站建设百度极速版下载

汽车精品网站建设,百度极速版下载,wordpress 登陆 插件下载,天天外链官网N32G430 内部Flash的读写操作 1、主存储区最大为 64KB,也称作主闪存存储器,包含 32 个 Page,用于用户程序的存放和运行,以及数 据存储。 每一页的大小为2K字节 2、IAP 升级我们将64K的flash分区如下: Boot 0x800000…

N32G430 内部Flash的读写操作

1、主存储区最大为 64KB,也称作主闪存存储器,包含 32 个 Page,用于用户程序的存放和运行,以及数 据存储。
在这里插入图片描述
每一页的大小为2K字节

2、IAP 升级我们将64K的flash分区如下:
Boot 0x8000000 – 0x8004000 16KB
Settings 0x8004000 – 0x8006000 8KB
App 0x8006000 – 0x800B000 20KB
Download 0x800B000 – 0x800FFFF 20KB

3、我们在程序里从0x8004000地址往flash写入一行字符串,然后再从flash读出。

新增flash.c flash.h文件

代码如下:

#include "flash.h"// 擦除函数
void n32_flash_erase(uint32_t start_addr, uint32_t end_addr)
{int page_num = 0; FLASH_Unlock();/* erase the flash pages */while(start_addr < end_addr){page_num = (start_addr - N32_FLASH_BASE) / FLASH_PAGE_SIZE;if (FLASH_EOP != FLASH_One_Page_Erase(page_num * FLASH_PAGE_SIZE)){Max_Info("Flash EraseOnePage Error. Please Deal With This Error Promptly\r\n");FLASH_Lock();return;}start_addr += FLASH_PAGE_SIZE;}FLASH_Lock();
}// 写函数
MI_BOOL n32_flash_write(MI_U32 dest_addr, MI_U8 *src, MI_U32 Len)
{MI_U32 i = 0;FLASH_Unlock();for(i = 0; i < Len; i += 4){/* Device voltage range supposed to be [2.7V to 3.6V], the operation willbe done by byte */if(FLASH_EOP == FLASH_Word_Program((MI_U32)(dest_addr+i), *(uint32_t*)(src+i))){/* Check the written value */if(*(uint32_t *)(src + i) != *(uint32_t*)(dest_addr+i)){/* Flash content doesn't match SRAM content */FLASH_Lock();            return -1;}}else{FLASH_Lock();            /* Error occurred while writing data in Flash memory */return -1;}}FLASH_Lock();            return 0;
}// 读函数
MI_BOOL n32_flash_read(MI_U32 dest_addr, MI_U8* buff, MI_U32 Len)
{MI_U32 i;for(i = 0; i < Len; i++){buff[i] = *(__IO MI_U8*)(dest_addr + i);}/* Return a valid address to avoid HardFault */return 0;
}

flash.h

#ifndef __FLASH_H__
#define __FLASH_H__#include "type.h"
#include "main.h"#define BOOT_START_ADDRESS      0x08000000U
#define BOOT_END_ADDRESS        0x08004000U
#define BOOT_SIZE = BOOT_END_ADDRESS - BOOT_START_ADDRESS#define SETTINGS_START_ADDRESS  0x08004000U
#define SETTINGS_END_ADDRESS    0x08006000U
#define SETTINGS_SIZE = SETTINGS_END_ADDRESS - SETTINGS_START_ADDRESS#define APP_START_ADDRESS       0x08006000U
#define APP_END_ADDRESS         0x0800B000U
#define APP_SIZE = APP_END_ADDRESS - APP_START_ADDRESS#define DOWNLOAD_START_ADDRESS  0x0800B000U
#define DOWNLOAD_END_ADDRESS    0x0800FFFFU
#define DOWNLOAD_SIZE DOWNLOAD_END_ADDRESS - DOWNLOAD_START_ADDRESS/* FLASH大小 : 64K */
#define N32_FLASH_SIZE         0x00010000UL
/* FLASH起始地址 */
#define N32_FLASH_BASE         0x08000000UL
/* FLASH结束地址 */
#define N32_FLASH_END          (STM32_FLASH_BASE | STM32_FLASH_SIZE)#define FLASH_PAGE_SIZE          ((uint32_t)0x800)#define STM32_FLASH_PAGE_NUM     (STM32_FLASH_SIZE / FLASH_PAGE_SIZE)void n32_flash_erase(uint32_t start_addr, uint32_t end_addr) ;
MI_BOOL n32_flash_read(MI_U32 dest_addr, MI_U8* buff, MI_U32 Len);
MI_BOOL n32_flash_write(MI_U32 dest_addr, MI_U8 *src, MI_U32 Len);
#endif // __FLASH_H__

main.c

#include <string.h>
#include "main.h"
#include "bsp_led.h"
#include "bsp_delay.h"
#include "usart.h"
#include "timer.h"
#include "pwm.h"
#include "key_input.h"
#include "flash.h"
/***\*\name   main.*\*\fun    main function.*\*\param  none.*\*\return none.
**/
int main(void)
{led_init();usart1_init();usart2_init();timer6_init();tim2_pwm_init();key_input_init();/* Delay 1s */SysTick_Delay_Ms(1000);n32_flash_erase(SETTINGS_START_ADDRESS,SETTINGS_END_ADDRESS);MI_CHAR  *data = "hello n32g430c8l7";MI_U8 r_data[24]= {0};SysTick_Delay_Ms(1000);n32_flash_write(SETTINGS_START_ADDRESS,(MI_U8 * )data,strlen(data));SysTick_Delay_Ms(1000);n32_flash_read(SETTINGS_START_ADDRESS,r_data,strlen(data));Max_Info("n32_flash_read  == %s\r\n",r_data);while(1){}
}

烧入程序后打印如下:
在这里插入图片描述

擦除4页8k大小,
读出我们写入的字符串。

http://www.dt0577.cn/news/54409.html

相关文章:

  • 宜宾网站制作宁波微信推广平台哪个好
  • 做音乐的网站设计台州优化排名推广
  • 网络公司哪家好郑州百度快照优化
  • 怎么在网站上添加地图互联网广告平台代理
  • 价格关键词排名优化怎么样
  • wordpress 在裁剪您的图像时发生了错误.河南seo快速排名
  • 免费网页申请台州网站seo
  • 网站建设公司的出路最新提升关键词排名软件
  • 盘锦做网站的公司网站是怎么做的
  • 网站开发年度总结app排名优化公司
  • 如何来做网站北京最新发布信息
  • 网站开发价格表北京seo公司哪家好
  • 日本做的视频网站广州seo网络培训课程
  • 小米4路由器可以做网站嘛微信推广引流方法
  • 哪个网站做的w7系统好如何介绍自己设计的网页
  • 哪些网站建设公司好微信引流主动被加软件
  • 企业网站建设方案价格2024年8月爆发新的大流行病毒吗
  • 太原做网站哪家好哪个浏览器看黄页最快夸克浏览器
  • 做网站为什么能赚钱soso搜索引擎
  • 嘉上营销个人如何优化网站有哪些方法
  • 变态动漫做那个的视频网站网站营销推广
  • 网站做推广需要多少钱百度推广客服中心
  • 企业网站关键字优化seo交流qq群
  • 广东今科网站建设百度快速排名优化服务
  • wordpress腾讯企业邮箱河南纯手工seo
  • 免费查找企业信息的网站碉堡了seo博客
  • 做网站北京全国十大跨境电商排名
  • 网站规划设计书北京营销推广网站建设
  • 网络广告策划公司重庆优化seo
  • 在哪里可以建网站重庆百度seo排名