程序在调试的过程中,出现can not access memory *********

zsxwdwl 2014-01-16 11:27:10
在调试STM32F107的程序时,出现can not access memory ******(地址)!情况是这样的,当我调试要查看某个数组的时候,watch窗口提示can not access memory。
...全文
3745 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsxwdwl 2014-01-16
  • 打赏
  • 举报
回复
找了三天了,问题还是没有解决啊!白屏的过程时常出现时常不出现。已经排除是驱动的问题。
zsxwdwl 2014-01-16
  • 打赏
  • 举报
回复
还有一种情况,程序在运行过程突然白屏。要重新开机才能正常显示,在白屏过程查看写DDRAM中的RAMSTR也是提示上述信息! 如:LCD_Write_DDRAM1(RAMSTR[i].x, RAMSTR[i].y, RAMSTR[i].str); 求大神支招啊。。。。。。。
zsxwdwl 2014-01-16
  • 打赏
  • 举报
回复
现在小弟能想到的唯一可能就是,程序运行过程内存溢出或者泄露造成这样
zsxwdwl 2014-01-16
  • 打赏
  • 举报
回复
引用 5 楼 woshi_ziyu 的回复:
和仿真器设置也有关系 用的是哪个仿真器
我用的是H-JTAG。之前我也疑虑是仿真器的问题,但是初期的时候好向没有这个问题!当我代码量一多的时候LCD白屏的问题和can not access memory的问题就时常出现
zsxwdwl 2014-01-16
  • 打赏
  • 举报
回复
坐等高手回复,通过按键控制LCD转换显示界面,代码太多了,贴一部分上来

//main.c
Show_Widget();
//Show.c
Void_Fun  Show_point = Show_Main;
void Show_Widget(void)
{ 
	Show_point();
}
/*Show_Main里面是通过获取按键选择Show_point()指向那个入口*/
	case KEY_OK:
		if( Key_Value.stats == UP)
		{
			switch(Show_Menu_Select)
			{										  
				case 0:									  
				   	Set_NewOpreate(6); 
					Show_point = Show_DevWarn;  
					Show_InShowOnes = 1;
					break;
				case 1:				                   
					Set_NewOpreate(7);
				    Show_point = Show_DevError;       
					Show_InShowOnes = 1;
					break; 
				case 2:
					Set_NewOpreate(15);
					Show_point = Show_OpreateHis;      
					Show_InShowOnes = 1;
					break; 
                           }
                     }
woshi_ziyu 2014-01-16
  • 打赏
  • 举报
回复
和仿真器设置也有关系 用的是哪个仿真器
zsxwdwl 2014-01-16
  • 打赏
  • 举报
回复
引用 3 楼 woshi_ziyu 的回复:
有可能是程序使用内存越界 查看程序引用的地址
但是为什么它有时候有有时候没有? 程序信息: Program Size: Code=46600 RO-data=1456 RW-data=456 ZI-data=28656 芯片信息: Core: ARM 32-bit Cortex-M3 Microcontroller, CPU clock up to 72MHz Memories: 256kB Embedded Flash 64kB Embedded SRAM Specific Features: - USB 2.0 Full Speed Device/Host/OTG Controller with on-chip PHY - 10/100 Ethernet MAC with dedicated DMA and SRAM - 12-channel DMA controller - 2 * CAN Interface (2.0B Active) - 2 * 12-bit ADC (16-channel) - 2 * 12-bit DAC - 2 * I2C - 5 * UART - 3 * SPI - 80 GPIO pins
woshi_ziyu 2014-01-16
  • 打赏
  • 举报
回复 1
有可能是程序使用内存越界 查看程序引用的地址

27,510

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧