FLASH_EraseInitTypeDefflash_erase_init_t;uint32_terror_page;//记录错误的写入位置// 一页 512 字节if(page_addr % BSP_FLASH_PAGE_SIZE !=0) { page_addr -= (page_addr % BSP_FLASH_PAGE_SIZE); }if(page_addr <1) { page_addr =1; }flash_erase_init_t.TypeErase = FLASH_TYPEERASE_PAGES...
#include"n32g4fr.h"#include"errorno.h"#include"bsp_flash.h"#defineFLASH_PAGE_SIZE 2048#defineFLASH_OB_DATA_ADDR 0x1FFFF804#defineFLASH_OB_DATA1_ADDR 0x1FFFF806uint16_tbsp_flash_get_page_size(void){returnFLASH_PAGE_SIZE; }staticinlineint32_tbsp_flash_sts_to_errno(FLASH_STS sts){int3...
void bsp_flash_read_words(uint32_t addr, uint32_t *data, uint32_t word_len) { uint32_t i; for (i = 0; i < word_len; i++) { *(data + i) = bsp_flash_read_word(addr + i * sizeof(uint32_t)); } } int32_t bsp_flash_carry(uint32_t t_addr, uint32_t s_addr, ...
bool bsp_flash_read_nbyte(uint32_t addr, uint8_t *data, uint32_t len) { uint32_t i; if (len == 0) { return false; } for (i = 0; i < len; i++) { *(data + i) = bsp_flash_read_byte(addr + i); } return true; } /** * @brief flash 读半字 * @note NULL *...
Flash和SRAM同属于静态存储器类型,可以合用一个存储器端口;而DRAM因为有动态刷新和地址线复用等特性,通常配有专用的存储器端口。其中,SDRAM必须在初始化阶段进行设置,因为大部分的程序代码和数据都要在SDRAM中运行。 在HMS30C7202中,与SDRAM配置有关的寄存器有4个:配置寄存器、刷新定时寄存器、写缓冲写回寄存器和等待...
本文使用BM3803MG专用烧写软件烧写VxWorks_rom镜像的过程如下:(1)把生成VxWorks_rom镜像转换成存储器镜像VxWorks_rom.bin;(2)运行BM3803MG的专用烧写软件,使用Flash映像生成功能,在VxWorks_rom的工程目录下,自动生成flash_content.bin、program_flash_in_ram.exe和program_flash_in_ram.bin。其中,flash_content.bin为...
1、本教程重在BSP驱动包设计方法和HAL库的框架学习,并将HAL库里面的各种弯弯绕捋顺,从而方便我们的程序设计。 2、由于是基于HAL库的文档,所以不限制H7系列,其它F1,F2,F3,F4,F7等系列通用,只是H7系列的外设更加丰富和强劲些。 3、本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件命名,程序框...
BSP,全称是BoardSupportPackage。顾名思义,就是支持(Support)某种板子(Board)的一个文件夹(Package)。对于Vx5和Vx6来说,这个文件夹通常包含了一堆C文件、几个汇编文件、几个cdf文件、一些头文件、一个makefile文件、一个readme文件(版本信息),和一个target.ref文件(这个BSP的专属文档)。到了Vx7,BSP被大大简化,...
笔者使用的开发板是兆易创新设计的GD32407V-START开发板。其主控芯片为GD32F407VKT6,主频168MHz,内部3072K Flash,192KB SRAM,资源相当丰富。 1 BSP框架制作 在具体移植GD32407V-START的BSP之前,先做好GD32的BSP架构。BSP框架结构如下图所示: GD32的BSP架构主要分为三个部分:libraries、tools和具体的Boards,其...
Flash和SRAM同属于静态存储器类型,可以合用一个存储器端口;而DRAM因为有动态刷新和地址线复用等特性,通常配有专用的存储器端口。其中,SDRAM必须在初始化阶段进行设置,因为大部分的程序代码和数据都要在SDRAM中运行。 在HMS30C7202中,与SDRAM配置有关的寄存器有4个:配置寄存器、刷新定时寄存器、写缓冲写回寄存器和等待...