6、交叉编译和交叉调试
a) 将u-boot 启动参数修改为网络启动
#setenv serverip 192.168.9.120
#setenv ipaddr 192.168.9.233
#setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000
- 42000000
#setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw
console=ttySAC2,115200 init=/linuxrc ip=192.168.9.233
# saveenv
注意:192.168.9.120 对应Ubuntu 的ip
192.168.9.233 对应板子的ip
这两个ip 应该根据自己的实际情况适当修改
b) 编辑程序源码myapp.c(自己写一个简单的c 程序)
c) 交叉编译后复制到/source/rootfs (编译时添加选项-g)
$arm-none-linux-gnueabi-gcc myapp.c –o myapp –g
$ cp myapp /source/rootfs
d) 复制gdbserver 到/source/rootfs/bin (gdbserver 在交叉工具链中找,路径为:
/home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/debug-root/bin)
e) 在开发板上如下运行
# gdbserver 192.168.9.233:12345 myapp &
f) 在主机上运行交叉调试器
$ arm-none-linux-gnueabi-gdb myapp
g)
a) 将u-boot 启动参数修改为网络启动
#setenv serverip 192.168.9.120
#setenv ipaddr 192.168.9.233
#setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000
- 42000000
#setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw
console=ttySAC2,115200 init=/linuxrc ip=192.168.9.233
# saveenv
注意:192.168.9.120 对应Ubuntu 的ip
192.168.9.233 对应板子的ip
这两个ip 应该根据自己的实际情况适当修改
b) 编辑程序源码myapp.c(自己写一个简单的c 程序)
c) 交叉编译后复制到/source/rootfs (编译时添加选项-g)
$arm-none-linux-gnueabi-gcc myapp.c –o myapp –g
$ cp myapp /source/rootfs
d) 复制gdbserver 到/source/rootfs/bin (gdbserver 在交叉工具链中找,路径为:
/home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/debug-root/bin)
e) 在开发板上如下运行
# gdbserver 192.168.9.233:12345 myapp &
f) 在主机上运行交叉调试器
$ arm-none-linux-gnueabi-gdb myapp
g)