linux/ubuntu16.04搭建minicom的arm调试环境
来源:互联网 发布:黑客编程入门 编辑:程序博客网 时间:2024/06/05 10:51
- linux下搭建minicom实现arm调试
- 工具
- 步骤
- 检查系统环境配置
- 安装minicom
- 配置minicom
- 整一个测试程序搞一下呢
- 源代码
- 下载调试
linux下搭建minicom实现arm调试
个人觉得windows下的超级中断不是好用,而且本人在linux下开发,没有使用虚拟机,因此需要在linux配置调试环境,这里记录一下.
工具
- ubuntu16.04
- minicom
- usb转串口线 HL-340
- arm开发板
这里主要是实现通过minicom在ubuntu下通过USB转串口线实现程序的烧录和调试.
步骤
1.检查系统环境配置
插上串口线, 检查一下os是否能够识别出usb端口的设备,就是我们使用的串口线HL-340.
- terminal输入命令
$ lsmodModule Size Used by.......ch341 16384 0usbserial 53248 1 ch341
可以看到,这里是能够识别的,记住,这里是在ubuntu16.04环境下的,ubuntu12.04测试也可以,,默认是可以识别的,不像windows还要转一些驱动.
2.查看缓存中的,看看对应的usb设备是否已经被系统识别.
$dmesg......ch341-uart converter detectedch341-uart converter now attached to ttyUSB?
类似如下的状态:
其中的ttyUSB? 每台机子会不同,我这里的就是ttyUSB0这个设备了.
这样的话,说明硬件驱动是没问题的. 接下来就是minicom的安装了.
2.安装minicom
ubuntu很人性化,直接terminal中:
$ sudo apt-get install minicom
等待,ok.
然后检查是否安装成功
minicom
如图即ok,接下来就是配置了.
3.配置minicom
配置可以先进入minicom在设置菜单中进行设置,也可使用命令
minicom -s
直接进入设置菜单.
这里使用命令方式直接先设置吧
进入后,选择Serial port setup
选项(操作就是很vim的操作方式,JKHL,也可以使用箭头选择啦, 回车确认).
如下:配置成如图(要配置某一项在Change which setting? 后面输入对应的代号就可以,如 输入’A’, 设置串口设备名)其中:
A—-就是刚刚看到的串口设备的文件名,我这里是
/dev/ttyUSB0
;
B—-当出现不当操作时,软件会产生一个保护锁文件,这里就是保存的位置,这里就默认吧;
E—-与开发板通信速率相匹配的波特率;
F,G—最好设置为不要软件/硬件流控制;设置好后,回车,在
configuration
目录下选择Save setup as dfl
将当前配置保存到默认的配置文件保存目录中,默认的是/etc/minicom/
下,当然也可以保存为其他文件,选择Save setup as ..
即可.- 最后退出minicom即可,搞定.
整一个测试程序搞一下呢…
源代码
可以直接可以下载:
https://github.com/Michael-Jay/arm_test.git
//test.S
.global _start_start: b resetreset: mrs r0, cpsr bic r0, r0, #0x1f orr r0, r0, #0xd3 msr cpsr, r0init_stack: @svc mov sp, r0 @svc_sp 1k sub r0, #1024 mov sp, r0test: @set the output ldr r2, =0x11000000 @base addr mov r3, #0x1 @value mov r3, r3, lsl#28 @focus on con_7 str r3, [r2, #0x0c40] @set GPX2CON[7]=0X01 @set output high ldr r2, =0x11000000 mov r3, #0x1 mov r3, r3, lsl #7 str r3, [r2, #0x0c44] nop
//”Makefile”
all: arm-linux-gcc start.S -o start.o -c arm-linux-ld start.o -o start.elf -Tstart.lds arm-linux-objcopy -O binary -S start.elf start.bin
//start.lds
ENTRY(_start)SECTIONS{ . = 0x40008000; .text : { *(.text) } .data : { *(.data) } .bss : { *(.bss) }}
然后,make一下咯. 生成好了二进制的文件start.bin
和start.elf.
下载调试
- 首先通过转换线连接arm和linux宿主机;
- 打开刚刚正好的minicom
$ sudo minicom
注意: 这里由于要访问到/dev/ttyUSB0这个设备文件,因此需要root权限哦. - 然后软件就会静静的等待arm的接入,打开开发板的电源把.注意!
- 这里一定要在上电后,迅速按回车,不要让minicom自动加载arm内核, 因为要调试我们的小程序嘛,所以要打断加载进程,如下
- 熟悉的命令行状态,但是这里面是不能运行linux命令的,毕竟开发板上啥都没有嘛.只有等待我们直接将代码加载到内存运行的.
- 然后使用命令
loady 0x4000800
这里的0x40008000是我的编译时在链接文件中将代码放在了这个内存地址,因此我们这里也需要将程序加载对应的内存地址.具体有关.lds文件参见http://blog.csdn.net/ccccdddxxx/article/details/6845377 这时候软件会等待用户添加文件
FS4412 # loady 0x40008000## Ready for binary (ymodem) download to 0x40008000 at 115200 bps...
这时候进入菜单(ctrl+a, 再 z),选择 sending files
在发送文件选项中,选择编译好的.bin文件,就可以发送到开发板 了,速度稍慢.
完成过后,提示如下
FS4412# loady 0x40008000 \## Ready for binary (ymodem) download to 0x40008000 at 115200 bps... CC## Total Size = 0x00000044 = 68 Bytes
11.完成后,使用命令go 0x40008000
到刚刚的代码处运行.
搞定.
- linux/ubuntu16.04搭建minicom的arm调试环境
- Ubuntu16.04下arm-linux-gcc交叉编译环境搭建
- ubuntu16.04 arm-linux-gcc环境搭建之不是有效的标识符
- 搭建ARM调试环境
- arm+linux 裸机环境搭建之初试minicom+dnw烧写uboot
- ubuntu10.10 搭建arm开发环境——minicom设置
- Ubuntu16.04环境搭建
- arm-linux-gdb+gdbserver环境搭建以及远程调试
- 搭建交叉调试环境arm-linux-gdb与gdbserver
- 搭建交叉调试环境arm-linux-gdb与gdbserver
- arm-linux-gdb+gdbserver环境搭建以及远程调试
- 搭建交叉调试环境arm-linux-gdb与gdbserver
- Linux下Eclipse加JLlink调试ARM环境搭建
- arm-linux-gdb 环境搭建及调试core文件
- 搭建交叉调试环境 arm-linux-gdb配合gdbserver
- Linux下CodeBlocks远程调试ARM程序环境搭建
- ubuntu16.04搭建优美的开发环境
- 纯Linux下的 ARM裸机调试环境搭建(GDB + JLink)
- CSS 选择符
- facebook下载
- Linux_Shell Shell编程简介
- Android Studio 出现 Gradle's dependency cache may be corrupt 错误分析
- UI设计师不可不知的安卓屏幕知识(转载)
- linux/ubuntu16.04搭建minicom的arm调试环境
- 2016-8-2 Unity学习笔记二(第一人称扔球)
- codeforces Round #364(Div.2)701A Cards 贪心算法
- 使用域名查询网站ip地址
- shell脚本编程中对文件的判断
- 编译64位的libjpeg
- 数据结构实验之栈四:括号匹配
- HTTP提交方式POST和PUT的区别
- 理解inode