一、Linux裸机开发

名词解释:gcc
gcc是linux系统下主要的编译软件,
gcc的全称是GNU编译器套件(GNU Compiler Collection),
除了可以编译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)是收费软件。

我们学习嵌入式的目的是找工作。
那么在学习过程中就要掌握企业实际开发的开发流程。

//============================================================
编辑器
推荐使用windows平台的source insight和notepad。
source insight在查看代码、编辑代码等功能时非常好用。

source insight:c文件、h文件、ARM汇编文件
notepad:其他文件,如Makefile(简单理解为:指明了要编译哪些源文件、指定编译后的输出文件名)

source insight是收费软件,但是这个软件可以免费35天。
版本:3.5
安装包:自己百度一下"source insight3.5"

二、source insight3.5使用

安装包路径: D:\2.韦东山Linux\工具&驱动\工具和驱动\阅读源码工具

版本:3.5

可以免费使用35天

使用教程:

1)增加文件类型
options-->documents options中,将c source file的文件过滤设置为*.c;*.h;*.S

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

3)字体的设置(解决中文乱码)
options-->documents options中,将screen fonts设置为:宋体、常规、12、GB2312.

使用alt+F12来调整字体的等宽。

4)说明一下source insight的窗口

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

5)显示行号
view-->line number

6)快速跳转到某一行
工具栏中有一个go to line。

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

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

9)查找
右键菜单-->lookup reference,或者ctrl + / 。

三、notepad和二进制文件查看工具

安装包路径

D:\2.韦东山Linux\工具&驱动\工具和驱动\文本编辑器Notepad++

D:\2.韦东山Linux\工具&驱动\工具和驱动\二进制工具

free-hex-editor-one:查看二进制文件

转载于:https://www.cnblogs.com/freyluo/p/11059008.html

第七课 Linux裸机开发+SourceInsight3.5使用+notepad++使用相关推荐

  1. linux编译运行uart,嵌入式Linux裸机开发(七)——UART串口通信

    嵌入式Linux裸机开发(七)--UART串口通信 一.UART串口通信简介 通用异步收发器简称UART,即UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTE ...

  2. 嵌入式linux启动过程分析,嵌入式Linux裸机开发(二)——S5PV210启动过程分析

    嵌入式Linux裸机开发(二)--S5PV210启动过程分析 一.iROM启动方式简介 友善之臂Smart210开发板的SoC为三星S5PV210,S5PV210采用iROM启动方式进行启动,通过查阅 ...

  3. 嵌入式Linux裸机开发(六)——S5PV210时钟系统

    嵌入式Linux裸机开发(六)--S5PV210时钟系统 一.时钟系统简介 外设工作需要一定频率的时钟,这些时钟都由系统时钟提供.系统时钟一般由外部低频24MHZ晶体振荡器通过锁相环电路PLL倍频产生 ...

  4. 嵌入式linux备份flash,嵌入式Linux裸机开发(十一)——Nandflash

    嵌入式Linux裸机开发(十一)--Nandflash 一.Nand Flash简介 NandFlash是Flash的一种,具有容量较大,改写速度快等优点,适用于大量数据的存储.NandFlash没有 ...

  5. linux开发板lcd按压,嵌入式Linux裸机开发(十五)——LCD

    嵌入式Linux裸机开发(十五)--LCD 一.LCD简介LCD(Liquid Crystal Display)是液晶显示器简称.LCD的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TF ...

  6. lcd命令 linux,嵌入式Linux裸机开发(十五)——LCD

    嵌入式Linux裸机开发(十五)--LCD 一.LCD简介 LCD(Liquid Crystal Display)是液晶显示器简称.LCD的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置T ...

  7. 嵌入式linux s5pv210,嵌入式Linux裸机开发(二)——S5PV210启动过程分析

    嵌入式Linux裸机开发(二)--S5PV210启动过程分析 一.iROM启动方式简介友善之臂Smart210开发板的SoC为三星S5PV210,S5PV210采用iROM启动方式进行启动,通过查阅三 ...

  8. 嵌入式Linux裸机开发(五)——SDRAM初始化

    嵌入式Linux裸机开发(五)--SDRAM初始化 一.SDRAM初始化流程 S5PV210有两个独立的DRAM控制器,一个最大支持512MB,一个最大支持1024MB,但两个控制器必须支持相同类型的 ...

  9. Linux裸机开发|UART串口通信

    UART串口通信 不管是单片机开发还是嵌入式Linux开发,串口都是最常用到的外设.可以通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序.还有很多模块,比如蓝牙.GPS.GPRS等都 ...

最新文章

  1. JMH 和 Arthas 定位问题的案例分享 !
  2. An error has occurred while drawing:java.lang.IllegalStateException: The display list is not valid.
  3. Spring restful
  4. SpringBoot+Shiro学习(八):RememberMe
  5. 深度学习NCHW和NHWC数据格式(由三维数据转换成一维数据的遍历方式)
  6. hdu 4289(最小割最大流定理)
  7. “阿里味” PUA 编程语言火上GitHub热榜,标星2.7K!
  8. JAVA--虚函数,抽象函数,抽象类,接口
  9. ASP.Net中OnBeforeUnLoad事件中调用__doPostBack不起作用?
  10. Spring Data,MongoDB和JSF集成教程
  11. java 字符串 ansi转utf8_在Java中将ANSI字符转换为UTF-8
  12. 在线Excel文件解析转换成JSON格式
  13. SwitchResX for Mac(屏幕分辨率修改工具)
  14. 计算机信息安全相关文献,优秀计算机信息安全论文参考文献 计算机信息安全外文文献怎么找...
  15. 别以透明的名义降低人工智能的能力
  16. mac废纸篓的如何还原?
  17. echarts3D地球
  18. 江恩 计算机,江恩理论基础篇
  19. 测试开发—Xcode使用远程手机调试
  20. 果园大二下英方课学习姿势

热门文章

  1. flex的三个属性grow、shrink、basis
  2. 【python笔记】入门练手的题
  3. python 删除断点_给python 初学者的四条忠告,减少一些没必要的麻烦
  4. HDOJ水题集合4:杂题
  5. 【codevs1073】家族
  6. USACO1.1.2 - Greedy Gift Givers
  7. NYOJ845 - 无主之地1
  8. 第二章节 ASP.NET 验证控件(二)
  9. jquery的DOM节点操作(替换元素节点)
  10. 试题 15 枚举n-m之间的所有质数(质数)