路过的同学好!
想求助一下关于stm32f042x6,好不容易知道如何把一些数据写入flash 中,但是遇到读取过程又搞不定了。是否有命令行工具可以帮助读取?非常感谢路过的大神小神!
最后想呐喊一下 这个社区的code snippet工具真的没问题么!!!
我的尝试:- #尝试1:
- st-flash read RNG.bin 0x0800F000 1024
- ##结果1:
- st-flash 1.6.1
- 2020-10-08T11:04:51 INFO common.c: F04x: 6 KiB SRAM, 32 KiB flash in at least 1 KiB pages.
复制代码
以下是写入flash的小段代码片,其实就是生成了某种crypto currency的原始byte公钥(变量pubKey), hash都没做,因为SRAM爆了,所以打算读取到pubKey之后来电脑上继续hash加工。
- #define VIRADDR 0x0800F000
- #define PAGE_COUNT 1
- #define PAGE_SIZE 1024
- HAL_FLASH_Unlock(); //解锁Flash
- Flash_ROM.TypeErase=FLASH_TYPEERASE_PAGES;//标明Flash执行页面只做擦除操作
- Flash_ROM.PageAddress=VIRADDR;
- Flash_ROM.NbPages=PAGE_COUNT;
- uint32_t PageError = 0; //设置PageError,如果出现错误这个变量会被设置为出错的FLASH地址
- HAL_FLASHEx_Erase(&Flash_ROM, &PageError); //调用擦除函数擦除
- HAL_FLASH_Lock(); //锁定Flash
- FLASH_WaitForLastOperation(1000);
- if(VIRADDR*4<PAGE_SIZE*PAGE_COUNT)//地址在Flash_ROM定义的范围内
- {
- HAL_FLASH_Unlock(); //解锁Flash
- FLASH_WaitForLastOperation(1000);
- HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD,VIRADDR,*pubKey);
- FLASH_WaitForLastOperation(1000);
- HAL_FLASH_Lock(); //锁定Flash
- FLASH_WaitForLastOperation(1000);
- }
复制代码 最后的最后想说,我尝试过用buf往屏幕上打,screen /dev/tty.usbmodem143103 38400 和screen /dev/tty.usbmodem143103 9600。因为是byte data 看到的是乱码。
|