你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求大神帮我解决调试问题

[复制链接]
zi约 提问时间:2017-8-5 16:19 /
阅读主题, 点击返回1楼
收藏 评论41 发布时间:2017-8-5 16:19
41个回答
zi约 回答时间:2017-8-5 17:07:31
dzzwoaizi 发表于 2017-8-5 17:03
我当然知道,你是要读出来数据? 我怀疑你这样写就定义了一个数组 P[] 了,而数组的大小就是0x20000ffc,要 ...

不行啊,刚试了下,而且定义的时候直接定义的是一个指针,不是数组指针。。
zi约 回答时间:2017-8-5 17:15:56
toofree 发表于 2017-8-5 17:06
加个强到类型转换。比较和赋值的元素,一个是指针,一个是常数,怎么比较? ...

???什么意思????
toofree 回答时间:2017-8-5 17:24:15
  1. #include <stdio.h>               /* prototype declarations for I/O functions  */
  2. #include <stm32f10x.h>           /* STM32F10x definitions                     */

  3. extern void SER_Init(void);                                   /* see Serial.c */

  4. #define RAM_Start 0x20001000
  5. #define RAM_END   0x20001ffc
  6. #define BCKGRND   0xAA55AA55;

  7. unsigned int * p;

  8. /*----------------------------------------------------------------------------
  9.   main program
  10. *----------------------------------------------------------------------------*/
  11. int main (void)  {               /* execution starts here                     */

  12.   SER_Init ();                   /* initialize the serial interface           */

  13.   printf ("Hello World\n");      /* the 'printf' function call                */
  14.        
  15.         for (p=(unsigned int *)RAM_Start; p<=(unsigned int *)RAM_END; p++)
  16.         {
  17.                 *p = BCKGRND;
  18.         }

  19.   while (1) {                    /* An embedded program does not stop and     */
  20.     ;  /* ... */                 /* never returns. We use an endless loop.    */
  21.   }                              /* Replace the dots (...) with your own code.*/

  22. }
复制代码


评分

参与人数 1ST金币 +3 收起 理由
zero99 + 3

查看全部评分

toofree 回答时间:2017-8-5 17:26:51
你用的什么芯片?RAM空间从哪开始,到哪结束,有多大?
看一下你编译生成的map文件,都占用哪些内存空间了。
toofree 回答时间:2017-8-5 17:39:04
我设置的是STM32F103RBT,看一下这几张图,不解释,看有没有慧根了。
你能明白多少,算多少吧。
傲游截图20170805173105.jpg
傲游截图20170805173255.jpg

傲游截图20170805173314.jpg

傲游截图20170805173516.jpg

傲游截图20170805173554.jpg

zi约 回答时间:2017-8-5 17:39:59
这个是不是有问题啊,直接跳过不执行。。。。。
toofree 回答时间:2017-8-5 17:47:08
142729ri6xwwxxd626d3ce.jpg
zi约 回答时间:2017-8-5 17:51:08
toofree 发表于 2017-8-5 17:26
你用的什么芯片?RAM空间从哪开始,到哪结束,有多大?
看一下你编译生成的map文件,都占用哪些内存空间了 ...

我用的STM32F031芯片,RAM从0x20000000到0x20000ffc
toofree 回答时间:2017-8-5 17:54:01
要避开系统已使用的RAM,这些是不能随便写的。
只能写系统未使用的RAM
zi约 回答时间:2017-8-5 18:27:10

按照你的方法试了还不行,不晓得有没可能是RAM_END有问题,但我的地址跟你的差不多类似,应该又没问题,我是STM32F031的,我那个仿真的界面的RAM地址就是0x20000000,大小:0x1000

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版