免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3504 | 回复: 10
打印 上一主题 下一主题

[驱动] 看门狗问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-14 21:58 |只看该作者 |倒序浏览
  今天写了个系统时钟的实验,发觉通过j-link下载到开发板上的时候,显示*** error 65: access violation at 0x53000000 : no 'write' permission  没什么wtcon没有写的权限?如何去改,我的板子是s3c2440

论坛徽章:
0
2 [报告]
发表于 2012-11-15 17:17 |只看该作者
你写的是裸机驱动还是基于OS的啊?
不过从提示来看,应该是底层地址没有映射的问题。地址映射不对。所以OS对于底层地址空间不对你开放,你无权访问。

看一下你的地址映射那一段代码。

论坛徽章:
0
3 [报告]
发表于 2012-11-16 19:16 |只看该作者
回复 2# shell_albert


    祼机,只有一个bootloader,现在行了,可能是那些软件出问题吧,我都快放弃windown的环境了,直接在linux下编译好再用dnw下载过去,不过我有个小问题,就是我用dnw下载过去后,运行好了,怎样停止那个程序了?下载另一个程序进去需不需要再把第一个给删除了?如何删?dnw的下载地址我设置了0x30200000

论坛徽章:
0
4 [报告]
发表于 2012-11-18 01:38 |只看该作者
0x30200000 是sdram 地址断电即失,不用删除;
因为裸即程序一般最后都是个死循环,所以想终止一般都要reset按键复位或重启的;
把裸机程序的dead loop 去掉,用uboot的个哦命令去执行,程序是可以返回的。。;

论坛徽章:
0
5 [报告]
发表于 2012-11-18 01:41 |只看该作者
对了,看门狗在debug 模式下是禁用的,无论是jlink还是jtag,因为在调试的时候你没有办法保证cpu按正确的节拍执行,很可能导致watchdog超时,所以data sheet says watchdog is not available when cpu is in  debug mode

论坛徽章:
0
6 [报告]
发表于 2012-11-19 14:39 |只看该作者
回复 4# sky_sky888


    额、大哥、求救,现在我搞了个sdram的驱动程序,但是发觉烧写过去没有反应呢,不管我是用课本的例子还是我自己写的,一样不行,编译的时候Makefile 加入了  
   arm-linux-ld -Ttext 0x30000000        然后dnw设置为0x30000000  不知道对不对  对了 启动开发板的时候   选nor flash 还是 nand flash?


   本想自己调试的 可惜还是搞不懂gdbserver ........

论坛徽章:
0
7 [报告]
发表于 2012-11-19 19:29 |只看该作者
兄弟先搞懂2440的地址划分:30000000-40000000 是bank6 和bank7的地址空间;这两个bank是可以接sdram的而其他的是不行的;
arm-linux-ld -Ttext 0x30000000      指明了程序的运行地址是sdram的起始地址,因此此地址正确;
用dnw下载一般板子上跑的是bootloader不管是vivi还是uboot还是ads编译的;

bootloader 一般运行在地址sdram 的高地址空间如果是256m的sdram默认是0x3ff80000-40000这个地址空间,我的是64MB的sdram修改为textbase =0x33f80000,也就是uboot运行在0x33f80000-0x340000000,你要想保证你的裸板程序能正常运行,则不能覆盖bootloader的空间,否则导致;


当你些裸板程序是arm-linux-ld -Ttext 0x30000000  中-Ttext段制定的地址就是程序的运行地址,用dnw下载是直接下载到SDRAM中的,因此应把dnw地址设定为0x30000000  ;



有些程序需要下载到flash中,如bootloader ,kernel ,fs等。
这时下载是可用hflasher或uboot 或其他的bootloader;



对了 启动开发板的时候   选nor flash 还是 nand flash?
你吧bootloader 下载到哪里你就选哪个。开发板启动是先运行bootloader里的程序,然后bootloader或接受你通过dnw传递过去的命令并执行,或默认启动wince或linux或android。如果你
传递个下载命令,bootloader 就把你通过dnw传过去的文件下载到你dnw里指定的地址去,然后你再通过相应命令执行之,bootloader相当于一个桥梁;在你还没有通过相应命令把文件写入到
flash里之前,你所传递的文件是存到sdram里的,容易丢失。




本想自己调试的 可惜还是搞不懂gdbserver 。。

你要知道,gdbserver 是gnu的编译工具组建,其运行平台是类linux,因此你想使用它,必须在开发版上运行gdbserver,然后在pc上运行arm-linux-gdb ,两者通过网口交互。而在板子运行类linux时
下载文件就不能用dnw了,此时可用uart或tftp或nfs,此时的程序也不是裸机程序了,是运行在linux下需要glibc或uclibc支持的。。。

论坛徽章:
0
8 [报告]
发表于 2012-11-19 19:32 |只看该作者
memory map

选区_001.png (61.4 KB, 下载次数: 17)

选区_001.png

论坛徽章:
0
9 [报告]
发表于 2012-11-20 09:05 |只看该作者
回复 7# sky_sky888


    依然不行, arm-linux-Ttext 0x30000000    dnw下载设置为0x30000000  都应该没错吧   我想可能是覆盖了bootloader的地址也可能是代码出问题了  再研究研究   真心求大哥的联系方法,一个人学很痛苦,平常肯定要麻烦到大哥的,但是需要小弟帮忙码码代码的时候义不容辞  

论坛徽章:
0
10 [报告]
发表于 2012-11-20 12:33 |只看该作者
248401031 这有个刚创建的qq群
linux高级运维&&kernel_hack 暂定这个名字吧,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP