打印

关于S3C6410的调试问题

[复制链接]
2754|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Miltonliu2010|  楼主 | 2013-1-2 19:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于之前一直把目光放在Linux系统上,而忽略了对S3C6410芯片直接操作,现在反过来写裸机代码,不知道该如何通过JLINK下载调试。飞凌的裸机调试手册上说要利用DNW和bootloader进行调试。我想知道这是为什么?还有就是能不能像调试普通单片机一样通过JLINK下载,然后进行硬件调试?就是板子上什么代码都没有,然后直接下载、调试自己的程序。
S3C6410的片内ROM 32KB, 片内RAM 4KB

相关帖子

沙发
pal1| | 2013-1-4 14:44 | 只看该作者
dnw是控制终端,通过串口与开发板通信,你就可以得到自己想要的信息,
烧写bootloader 的目的是让开发板上电时对PLL,DDR RAM 进行初始化。以便把程序加
载到内存中进行调试。(飞凌手册)
所以如果开发板上没有bootloader时,是无法下载程序并调试的,

使用特权

评论回复
板凳
ymind| | 2013-1-4 19:57 | 只看该作者
6410好像是ARM11,可以用JLINK 调试。

使用特权

评论回复
地板
阿南| | 2013-1-5 08:34 | 只看该作者
没有bootloader,可以通过仿真器在线调试,也可以直接用过在线烧写直接调试。

使用特权

评论回复
5
jlass| | 2013-1-5 09:10 | 只看该作者
还有就是能不能像调试普通单片机一样通过JLINK下载,然后进行硬件调试?就是板子上什么代码都没有,然后直接下载、调试自己的程序。

这种状态称之为‘裸奔’,可以通过仿真器,在线调试或者烧写程序。

使用特权

评论回复
6
gooogleman| | 2013-1-6 09:21 | 只看该作者
看一下irom 文档吧
这个东西需要irom 的文档了,这个BLO 是CPU集成的,但是BL1 你得自己实现才能引导啊。
不能像单片机那样做的,因为单片机的bootloader是集成在CPU的,你写什么他都能引导的。其实单片机有bootloader的,就是那个startup.s类似的文件,只是keil 把他没放在明显的位置,自己写好了。

使用特权

评论回复
7
Miltonliu2010|  楼主 | 2013-1-6 10:42 | 只看该作者
gooogleman 发表于 2013-1-6 09:21
看一下irom 文档吧
这个东西需要irom 的文档了,这个BLO 是CPU集成的,但是BL1 你得自己实现才能引导啊。
...

谢谢楼上和二楼。

使用特权

评论回复
8
jlass| | 2013-1-6 17:02 | 只看该作者
阿南 发表于 2013-1-5 08:34
没有bootloader,可以通过仿真器在线调试,也可以直接用过在线烧写直接调试。 ...

看楼主的给分情况,应该是没有bootloader就不能仿真了。
但我觉得这根本不可能,只要jlink对此芯片是支持的,肯定可以对芯片进行初始化配置(我估计是直接加载某个文件),用jlink烧写uboot就是这么干的。
我看你给的是肯定答案,说说你的看法。

使用特权

评论回复
9
gooogleman| | 2013-1-7 08:50 | 只看该作者
uboot 本身就是一个非常完整的bootloader啊。他有有完整的体系的。
uboot是目前功能最强大的bootloader。

使用特权

评论回复
10
gooogleman| | 2013-1-7 08:52 | 只看该作者
jlass 发表于 2013-1-6 17:02
看楼主的给分情况,应该是没有bootloader就不能仿真了。
但我觉得这根本不可能,只要jlink对此芯片是支持 ...

uboot 本身就是一个非常完整的bootloader啊。他有有完整的体系的。
uboot是目前功能最强大的bootloader。


这个仿真,也是需要合理的代码的,不管怎么样,都要有bootloader的一些特性需求,初始化内存了,初始化一些中断,中断向量表等等,都是要的。

使用特权

评论回复
11
gooogleman| | 2013-1-7 08:58 | 只看该作者
其实可以先写一个内存初始化表,在代码没运行的时候通过jlink 初始化好了内存,这样就可以直接读写内存的代码,把代码直接下到内存,直接引导,就类似不需要bootloader了。
这个在2440 下我就是这么做的,但是最终用起来,还是得有bootloader的完整体系,否则jlink 只能停留在读写一下内存,读写一下CPU寄存器这种寄存器级别的调试上,不能进行太多源码级别调试的。
我这里有一份当时我做给开发板客户的FL2440  jlink 使用教程,就是我上面的做的,其实在6410 和S5pv210的jlink 调试也可以写一个类似的初始化表来做就可以了。
FL2440 ADS bootloader +JLINK使用指南.rar (634.51 KB)

使用特权

评论回复
12
Miltonliu2010|  楼主 | 2013-1-7 16:05 | 只看该作者
gooogleman 发表于 2013-1-7 08:58
其实可以先写一个内存初始化表,在代码没运行的时候通过jlink 初始化好了内存,这样就可以直接读写内存的代 ...

非常感谢

使用特权

评论回复
13
rhythm92| | 2013-1-20 19:11 | 只看该作者
我也在学这个 顶一个

使用特权

评论回复
14
inurl| | 2013-1-21 14:55 | 只看该作者
gooogleman 发表于 2013-1-7 08:58
其实可以先写一个内存初始化表,在代码没运行的时候通过jlink 初始化好了内存,这样就可以直接读写内存的代 ...

googleman的要顶

使用特权

评论回复
15
ranyao70| | 2013-3-13 15:20 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

87

帖子

3

粉丝