发 帖  

[经验] 裸机开发步骤和工具使用

2018-3-21 14:54:29  2342 裸机 开发 步骤 工具
收藏 0 收藏 推荐 0 推荐
分享
首发平台:微信公众号baiwenkeji
本篇是arm裸机1期加强版Wiki第7课_ARM裸机开发步骤和工具使用,共3节,文字无法完整的描述视频内容,如果您觉得这些文章不错,想进一步学习更深层次的内容,请参加我们最近举办的10元试看活动,试看接下来的视频。名额有限,先到先得。

001节_裸机开发步骤简介
回忆大学在VC6.0上面学习C语言,操作大致流程如下:
x86平台,Windows应用程序:建立工程/项目,编辑源码,编译代码(编译器:VC6.0),运行。
在Ubuntu上学习C语言,操作大致流程如下:
x86平台,Ubuntu应用程序:编辑源码,编译代码(编译器:gcc),运行。
两者是几乎一致的。
名词解释:
·        gcc
gcc是linux系统下主要的编译软件, gcc的全称是GNU编译器套件(GNU CompilerCollection),除了可以编译c语言开发的程序外,还可以开发C++、Java等多个语言的程序。 GCC的初衷是为GNU操作系统专门编写的一款编译器。
使用gcc的原因:功能强大、稳定、开源免费
1)gcc -v查看gcc的版本,从而验证了gcc编译器正常。
不论你使用哪一个版本的gcc,只有后面能够正常编译就可以了。
2)gcc -o 输出文件名 源文件
o:output
·        交叉编译模式
通常编译嵌入式程序的平台成为宿主机(如:PC的ubuntu系统,CPU架构为X86架构),运行嵌入式程序的平台成为目标机(如:某款ARM开发板,CPU架构为ARM架构)。在X86平台编辑和和编译器arm-linux-gcc编译ARM架构的程序,两者属于不同的架构平台,从而属于交叉编译模式。然后将程序烧写到ARM开发板中(下载方式有:JTAG、USB、SD卡、网络等多种方式),然后在开发板上运行该程序。

·        编辑器:
推荐使用windows平台的source insight和notepad。
source insight在查看代码、编辑代码等功能时非常好用。
·        编译器
推荐使用arm-linux-gcc
arm-linux-gcc是基于linux平台的arm编译器。它是开源免费的编译器。
arm-linux-gcc功能强大、稳定、支持的arm芯片众多、更新速度快。
入门误区:使用ads、MDK
ads(停止更新)、MDK,是windows平台的编译器,功能较弱。
1)只适合个人或者小团队的开发,不适合于中型、大型团队的协作开发。
2)是收费软件。

002节_source insight代码查看工具的使用
编辑器
推荐使用windows平台的source insight和notepad。
source insight在查看代码、编辑代码等功能时非常好用。
source insight针对:c文件、h文件、ARM汇编文件
notepad针对:其他文件,如Makefile(简单理解为:指明了要编译哪些源文件、指定编译后的输出文件名)

source insight是收费软件,但是这个软件可以免费35天。
版本:3.5
安装包:自己百度一下”source insight3.5”
source insight常用设置:
1.增加文件类型
options-->documents options中,将c source file的文件过滤设置为*.c;*.h;*.S

2.新建项目(新建工程)
project-->newproject,然后将相应的文件添加到该项目中。

3.字体的设置(解决中文乱码)
options-->documentsoptions中,将screen fonts设置为:宋体、常规、12、GB2312.
使用alt+F12来调整字体的等宽。

4.说明一下source insight的窗口
项目窗口:指明该项目中有哪些文件。
主窗口:显示当前打开文件的文件内容。
符号窗口:显示了当前打开文件的函数名、结构体名、宏定义等等。
上下文窗口:光标放在某个函数上(变量上、宏定义上),在下面的上下文窗口就可以看到相应的定义。

5.显示行号
view-->linenumber

6.快速跳转到某一行
工具栏中有一个goto line。

7.高亮关键词
光标放在关键词上,然后右键菜单—>highlight word

8.查看函数定义位置
光标放在函数上,然后右键菜单—>jump to defintion,或者ctrl + 鼠标左键。
go back (alt + ,)回到上一次光标所在位置,或者使用工具栏中的向左箭头。
go forward(alt + .)回到下一次光标所在位置,或者使用工具栏中的向右箭头。

9.查找
右键菜单-->lookupreference,或者ctrl+ / 。

003节_notepad编辑器和二进制文件查看工具
下面介绍两个免费的工具:
文本编辑器工具Notepad:https://notepad-plus-plus.org/
和二进制查看工具FreeHexEditor Neo:https://www.hhdsoftware.com/free-hex-editor

Notepad++使用技巧:
·        按住Ctrl+鼠标滚轮,可以缩放文本内容大小;
·        查看c语言文件时,双击变量,即可在高亮整个文本中的该变量;
·        查看c语言文件时,光标放在任一括号处,即可高亮整个括号范围;
·        快捷键“Ctrl+F”,打开查找窗口,可搜索所需字符;
·        Free Hex Editor Neo使用技巧:
·        打开hex二进制文件,默认每行显示16个数,即0x00-0x0f;
·        在菜单栏的View->Offset可设置左边偏移的显示进制;
·        在菜单栏的View->Display As可设置当前数据的显示进制;
·        在菜单栏的View->Columns As可设置当前每行显示多少数据;
·        在菜单栏的View->Group By可设置当前数据显示的数据类型;

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

工程师杂谈

项目|工程师创意

招聘|求职}工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Linux论坛

单片机/MCU论坛

MSP430技术论坛

FPGA|CPLD|ASIC论坛

STM32/STM8技术论坛

NXP MCU 技术论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

电路设计论坛

电子元器件论坛

传感技术

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

-

EDA设计论坛

multisim论坛

PCB设计论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

Orcad论坛

-

综合技术与应用

电机控制

工程资源中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

物联网技术

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

高校联盟

西藏民族学院电子设计协会

西安电子科技大学西电实验室

桂林电子科技大学机电工程协会

鉴鹰电子科技协会

广东海洋大学科技创新协会

福建农林大学电子科技创新协会

湖北理工学院电子技术协会

深圳职业技术学院电子精英训练营

浙江科技学院Zuster

湘潭大学电子科技协会

青岛理工大学琴岛学院天宏开发团队

河南理工大学大学生电器开发部

广西科技大学电气信息创新协会

浙江机电职业技术学院电子制作协会

郑州大学西亚斯国际学院爱电工作室

新乡学院电子创新工作室

洛阳理工学院SmartTeam

苏州工业职业技术学院创新工作室

浙江工业大学GC315团队

杭电-微芯大学生科技创新孵化器

西安工业大学电信科协

商洛学院科技创新协会

大连民族学院创新工作室

南京信息工程大学帆木工作室

-

供求信息发布

方案交易

供需广告

芯片求购|供应发布区