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

求大神帮我解决调试问题

[复制链接]
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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版