发 帖  
原厂入驻New
[问答]

请问通过串口或者JTAG下载的Hex是到STM32内嵌的Flash吗?

503 Flash JTAG 串口
分享
请问一个弱智的问题?
目前通过串口或者JTAG下载的Hex是到STM32内嵌的Flash,还是板载的2M大小的Flash?
0
2020-3-12 21:34:22   评论 分享淘帖 邀请回答

相关问题

35个回答
我猜应该是STM32内嵌的falsh吧,我看电路图串口的RXD与TXD是直接与STM32相连的。这样理解对吗?
2020-3-13 02:44:48 评论

举报

2020-3-13 02:56:41 评论

举报

内嵌的FLASH的数据能通过什么方式读出来吗?
我手头有一款读Flash的叫DediProgrammer SF100的工具,不知道能不能读?
2020-3-13 03:03:40 评论

举报

自己写程序才可以读出来.
 
你手上那个工具,估计不能读吧.
2020-3-13 03:23:06 评论

举报

DediProgrammer SF100可以读我自己板子上的16M Flash M25P64,估计也能读板载2M的Flash W25X16。
--------------------------------- 
自己写程序才可以读出来. 
****
有这样的例子吗?请指教
JTAG有没有可能?
2020-3-13 03:30:56 评论

举报

如果仅仅读flash内容的话,很简单的.
usmart v2.6中就支持读指定地址的内部flash.
代码如下:
//读取指定地址的值 
u32 read_addr(u32 addr)
{
return *(u32*)addr;//
}
2020-3-13 03:39:18 评论

举报

很抱歉我在光盘和网络上都只找到了usmart v2.2,没能找到v2.6.
另外,我对usmart v2.2的理解是设备端实现很多函数,能通过串口在Host端调用。
我的理解是如果在设备端实现
u32 read_addr(u32 addr) 

return *(u32*)addr;// 
}
这个函数应该读取的是SRAM的内容吧?
我是想要把内嵌Flash的内容读出来,譬如说我通过串口下载了一个10K大小的Hex到STM32的内嵌Flash,我想要从Host端把这个10K的Hex读回来。
谢谢!
2020-3-13 03:55:29 评论

举报

 
这个不一定是sram的,flash的也可以!!
你自己可以测试一下。我试过了的。
2020-3-13 04:14:08 评论

举报

那Flash内容的起始地址是多少?
2020-3-13 04:24:47 评论

举报

这都不知道啊???
0X08000000!!!!
mcuisp不是每次都提示你,从0X08000000开始启动么?
2020-3-13 04:36:48 评论

举报

谢谢,我试了下,真的可以呢~
2020-3-13 04:42:50 评论

举报

发现RV MDK:Flash/Config Flash Tools/Utilities/Setting/Flash Download
STM32F10x Med-density Flash: Address: 0x08000000-0x0801FFFF
知道为什么是0x08000000了
2020-3-13 04:53:12 评论

举报

请问下,读Flash可以通过*(u32*)addr;获得,
写Flash怎么实现呢? 
2020-3-13 05:10:12 评论

举报

比较复杂 ,参考mdk自带例程.
2020-3-13 05:20:24 评论

举报

谢谢,请教下例程里,FLASH_OPT与FLASH_MEM的区别。
如果要写物理的,应该是FLASH_OPT对吧?
2020-3-13 05:29:17 评论

举报

看说明吧.这个我也不太清楚.
2020-3-13 05:40:19 评论

举报

原子,这两天看了下MDK有关读写内部Flash的例子:\Keil\ARM\Flash\STM32F10x
尝试着写个Sample编译,结果失败。
发现这个工程跟你所有的例子有个不同地方,在 "Setting/Linker/Scatter File"的地方指定是“Target.lin”。
所有导致编译不起来。
本人对Scatter File和编译过程不太了解,看了两天还没搞定,请帮忙看一下。
2020-3-13 05:50:43 评论

举报

2020-3-13 06:02:59 评论

举报

原子,我把你例子里生成的TEST.sct替代了Sample里的target.lin,这样程序能编译成功并仿真起来。
我这个程序尝试着读写Flash,结果发现我只能读到Flash里面存有Hex数据的地方。其他地方取地址读到的都是0,但是事实上我通过ISP软件通过串口在PC端读到的Flash里面除了Hex数据外,其他地方的值应该是0xFF. 
原本我的理解是Flash地址空间:(0x08000000-0x0801FFFF )我都可以访问,这样我可以把一些断电后需要保存的数据存到Flash 除去Hex外的地方。
结果现在看起来,我的读是不成功的,那下一步想要写更是不成功了。
请问是什么原因呢?
我看Sample里的Code似乎有UnLock Flash?
int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
  // Zero Wait State
  FLASH->ACR  = 0x00000000;
  // Unlock Flash    
  FLASH->KEYR = FLASH_KEY1;
  FLASH->KEYR = FLASH_KEY2;
  // Unlock Option Bytes
  FLASH->OPTKEYR = FLASH_KEY1;
  FLASH->OPTKEYR = FLASH_KEY2;
  // Test if IWDG is running (IWDG in HW mode)
  if ((FLASH->OBR & 0x04) == 0x00) {
    // Set IWDG time out to ~32.768 second
    IWDG->KR  = 0x5555; // Enable write access to IWDG_PR and IWDG_RLR     
    IWDG-&gtR  = 0x06;   // Set prescaler to 256  
    IWDG->RLR = 4095;   // Set reload value to 4095
  }
  return (0);
}
2020-3-13 06:14:26 评论

举报

只有小组成员才能发言,加入小组>>

12下一页

86个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表