Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
有大佬能讲解一下为什么第二种写法为什么不行吗
#define FLASHIF_WRITE(dest, size, pData) FLASH_DRV_Program(dest, size, pData) #define FLASH_DRV_Program(dest, size, pData) ((FLASH_Program_t)((uint32_t)(((fls_drv_tbl_t*)(FLS_DRV_BASE_ADDR))->program) + FLS_DRV_BASE_ADDR))(dest, size, pData)
补充一下,就是直接调的FLASH_DRV_Program。
Flash 只能从 1 变 0,没法从 0 变 1,所以每次在编程前需要擦除 Flash,或者在编程前,确认待编程区域为空,你重复编程对同一段地址编程,肯定是编不进去的
Diga 在 RamFlash Program失败 中说:
不好意思 这样截图误导了您,实际上每次使用,只用了其中一句。
STATUS_InvalidArgument Flash Driver 里应该就两处返回这个状态的,你打个断点,然后看一下是哪出,另外把 flash state 也贴出来
用的是ram flashdrv,没办法打断点
buffer看看是不是传入的局部变量,类型需要与pData保持一致,且长度注意要和size一致。
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...