S3C2440—2.裸机开发步骤及工具使用
文章目录
一.裸机开发步骤简介
1.在X86架构的Windows系统中
1.建立工程
2.编辑源代码
3.编译(VC6.0)
4.运行
2.在X86架构的Ubuntu系统中
1.编辑源代码(vim)
2.编译(gcc)
3.运行
3.ARM裸机开发
1.编辑源代码(Windows:Source insight或者Notepad++)
2.编译(涉及到交叉编译:arm-linux-gcc)
arm-linux-gcc是基于Linux系统的arm编译器,功能强大、稳定、支持qrm芯片多。
3.烧写
4.运行
注意:
使用ads(停止更新)、MDK编译器,是win系统的编译器,功能很弱,只适合个人或者小团队开发,不适合大型开发,而且收费。
学习嵌入式目的是找工作,所以要掌握企业里面,嵌入式实际的开发流程。
使用Soucre insight 编写查看.c、.h、.S文件
使用Notepad++查看.bin、makefil文件
使用Hex Editor Neo 查看.hex文件
二.soucre insight使用
1.sourec insight介绍
soucre insight主要用来编写和查看:c文件、h文件、ARM汇编文件
notepad主要负责其他文件:makefile(makefile指明了要编译哪些源文件和编译后的输出名)
source insight收费软件,但是可以免费试用一个月,推荐使用3.5版本
2.操作流程
Ⅰ.增加文件类型
(就是使C源文件可以包含.s文件)

Ⅱ.创建工程
Project中新建,并添加现成文件
Ⅲ.编译工程

Ⅳ.设置中文字体

Ⅴ.界面说明

右边项目窗口:说明该项目中有哪些文件
中间主窗口:显示当前打开的文件内容
左边符号窗口:显示当前打开文件的:宏定义、函数名、结构体名
下面是上下文窗口:光标放在某个函数或者变量上,下面的上下文窗口就可以看到相应的定义
Ⅵ.小技巧
- 可以通过View里面设置行号
- 可以通过工具栏里面的go to line 来跳转到指定的某一行
- 可以通过选定关键词,鼠标右键设置高亮关键词
- Control+鼠标左键,可以跳转到函数定义
- Control+/ ,可以查找名词出现的位置
S3C2440—2.裸机开发步骤及工具使用的更多相关文章
- ARM裸机开发之交叉工具链和MakeFile工程管理
一.交叉工具链 嵌入式Linux开发采用交叉开发,简单来说就是在宿主机(PC机)上面编译出能够在其他硬件平台上面运行的程序.在这个过程中,需要用到许多的交叉工具,这些交叉工具的集合就叫做交叉工具链.下 ...
- S3C2440—3.用点亮LED来熟悉裸机开发的详细流程
文章目录 一.硬件知识 1.LED原理图 2.芯片手册 Ⅰ.找LED原理图 Ⅱ.找对应引脚 Ⅲ.在芯片手册中查找引脚信息 Ⅳ.查看寄存器说明 Ⅴ.配置寄存器 二.S3C2440框架与启动过程 三.要用 ...
- 【转载】s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)
用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK ...
- Android(java)学习笔记262:JNI之工具快速开发步骤
下面通过一个案例说明一下,利用工具jni快速开发步骤 1.新建一个Android工程,命名为"03_对int数组加1",如下: 2. 在MainActivity.java中对add ...
- Android(java)学习笔记206:JNI之工具快速开发步骤
下面通过一个案例说明一下,利用工具jni快速开发步骤 1.新建一个Android工程,命名为"03_对int数组加1",如下: 2. 在MainActivity.java中对add ...
- ARM-Linux基本开发步骤
拿到一块YC2440(s3c2440)的开发板,经过几天的学习,我对arm-linux系统开发步骤有了一些认识.就以开发这个开发板为例,arm-linux开发工作大概分4个部分 1. 硬件 ...
- iOS应用内付费(IAP)开发步骤列表
iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表, ...
- Cubieboard2裸机开发之(四)定时器操作
前言 在Cubieboard2裸机开发之(三)里用到了一个延时函数delay,它的延时时间是不精确的,因此为了能够精确延时,就需要定时器的配合.定时器可以精确延时的一个重要原因是它的计时时钟(或者说频 ...
- hibernate学习笔记6--Criteria查询方式、完整小练习(开发步骤)
一.Criteria查询方式没有sql语了,因此更加面向对象一些.Criteria是一种比HQL更面向对象的查询方式:Criteria的创建方式: Criteria c = s.createCrite ...
随机推荐
- 16 shell select in 循环
select in 是 Shell 独有的一种循环,适用于与终端(Terminal)进行交互,在其他编程语言中是没有的. 用法 说明 脚本 select var in val_listdo st ...
- F5的IPv6配置指导
1.配置核心思想: 配置IPv6的默认路由 配置IPv6的VS IPv6的vs里面要启用"automap" 2.配置IPv6的默认路由 3.配置IPv6的VS 第一种方法: 第二种 ...
- Python使用笔记005-文件操作(二)
1.1 打开文件模式 # r r+ r+读是没问题的,写的话,会覆盖原来的内容,文件不存在时会报错# w w+ w+用来新的文件没问题,旧的文件会覆盖原来的内容# a a+ a+写是追加,读不到是因为 ...
- CPU 几核
1.设备管理器:打开"处理器",出现几个就是几核
- ajax请求对返回数据data的处理
1,ajax请求会根据响应头的返回数据类型对返回的数据data变量进行不同的处理 $.get("data/user-permission-submit-" + ddo.manipu ...
- C++:数据类型
/** * C++ 数据类型 : https://www.runoob.com/cplusplus/cpp-data-types.html * * 布尔: bool * 字符: char 1 个字节 ...
- 安装Go语言支持及Gogs版本管理工具
安装Go语言支持及Gogs版本管理工具 1. GO 语言: 1.1 介绍 1.1.1 官方介绍: The Go programming language is an open source proje ...
- 解决VS2017调试卡住的问题
今天用VS2017调试程序时,程序没有按照预期的那样运行到断点处,并且结束调试时会卡很长时间. 那么解决方法是: 1. [Tools]-->[Options]-->[Debugging]- ...
- 如何用js得到当前页面的url信息方法
设置或获取对象指定的文件名或路径. alert(window.location.pathname) 设置或获取整个 URL 为字符串. alert(window.location.href); 设置或 ...
- RTC为何这么火?
国内疫情已经接近尾声,有疫情的原因孵化的音视频互动类 App数量出现井喷式增长,通讯场景被资本关注,市场持续走高.在线教育.娱乐社交.直播带货等领域逆势增长,也带动了开发者们对于 IM 和RTC能力的 ...