广州嵌入式培训
达内广州岗顶中心

18087159764

热门课程

【广州达内嵌入式培训】裸板调试

  • 时间:2017-02-07
  • 发布:广州嵌入式培训
  • 来源:达内新闻

广州达内嵌入式培训的小编这一期给大家讲嵌入式的裸板调试。

1.点灯法

1 led_flicker:

2    ldr r0,=0x56000050

3    ldr r1,=(1<<(4*2))

4    str r1,[r0]

5    ldr r0,=0x56000054

6    ldr r1,=0

7    ldr r2,(1<<4)

8 loop:

9    str r1,[r0]

10    bl delay

11    str r2,[r0]

12    bl delay

13    b loop

14 delay:

15    ldr r3,=30000

16 1b:

17    sub r3,r3,#1

18    cmp r3,#0

19    bne 1b

20    mov pc,lr

可直接使用bl led_flicker来使用该程序。

2.串口打印及栈初步分析

2.1使用的前提是串口已经初始化完毕且可以正常使用

直接在需要定位错误的地方加上printk语句,看串口是否有相应的输出即可。

2.2 nand_setup的分析

a.栈和局部变量是临时生成的

b.局部变量的初始值在哪?函数一开始的部分读出这些值,用来初始化局部变量

3. JTAG调试器

工作原理:

a.CPU发出的地址/数据信号都通过JTAG

b.JTAG可以控制CPU

当Addr=xxx,停止CPU(硬件断点,两个,主要用于调试nor/rom上的程序)

当Data=xxx,停止CPU(软件断点,无数个,该地址是可写的,所以无法调试nor/rom上的程序)

c.让JTAG直接访问外设

3.1命令行调试

3.2源码级别的调试

前提

a.程序必须已经重定位好,位于它的链接地址

a.1如果程序的链接地址是SDRAM,使用openocd初始化SDRAM

a.2使用arm-linux-gdb/arm-elf-gdb下载程序

b.链接脚本必须把text,rodata,data,bss等分开存放

c.被调试的程序为ELF格式,内含调试信息(即编译时有-g选项)

了解详情请登陆广州达内嵌入式培训官网(gz.arm.tedu.cn)!

上一篇:字符设备的另一种写法
下一篇:嵌入式的驱动程序的调试

华为Mate 10保时捷设计开箱亮瞎了!

嵌入式linux文件类型有哪些

物联网入门知识全攻略

嵌入式学习是自学好还是参加培训班好?

选择城市和中心
贵州省

广西省

海南省