windows 上用 JLinkGDBServer.exe 架设 服务器端,直接控制 jink驱动,并用usb连接ok6410
linux 上 用 arm-linux-gnueabi-gdb 连接 JLinkGDBServer
在 arm-linux-gnueabi-gdb 窗口中控制 JLinkGDBServer ,从而控制 s3c6410的运行
实操: 断点功能是OK的
让 s3c6410 启动到 u-boot 的 cmdline,并进入交互
启动JLinkGDBServer ,将 s3c6410 停住(halt)
arm-linux-gnueabi-gdb 连接 JLinkGDBServer ,并设置断点(b start_kernel),然后(用命令c)控制 s3c6410 全速运行
在 u-boot 的 cmdline 中通过键入"tftp 0x50008000 uImage;bootm 0x50008000"加载 uImage 进入 内存,并 bootm 启动 uImage.
此时s3c6410 会运行到 start_kernel 停住(halt)(因为此时pc的值与断点寄存器中的值相等)
start_kernel 运行时, mmu 已经开启, 地址为虚拟地址.
服务器端
客户端
linux配置时要配置CONFIG_DEBUG_INFO
arm-linux-gnueabi-gdb -tui vmlinux
>target remote 192.168.1.2:2331
>b start_kernel
>c
OK6410板子的打印
tftp 0x50008000 uImage;bootm 0x50008000