一.裸机开发步骤简介

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.裸机开发步骤及工具使用的更多相关文章

  1. ARM裸机开发之交叉工具链和MakeFile工程管理

    一.交叉工具链 嵌入式Linux开发采用交叉开发,简单来说就是在宿主机(PC机)上面编译出能够在其他硬件平台上面运行的程序.在这个过程中,需要用到许多的交叉工具,这些交叉工具的集合就叫做交叉工具链.下 ...

  2. S3C2440—3.用点亮LED来熟悉裸机开发的详细流程

    文章目录 一.硬件知识 1.LED原理图 2.芯片手册 Ⅰ.找LED原理图 Ⅱ.找对应引脚 Ⅲ.在芯片手册中查找引脚信息 Ⅳ.查看寄存器说明 Ⅴ.配置寄存器 二.S3C2440框架与启动过程 三.要用 ...

  3. 【转载】s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)

    用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK ...

  4. Android(java)学习笔记262:JNI之工具快速开发步骤

    下面通过一个案例说明一下,利用工具jni快速开发步骤 1.新建一个Android工程,命名为"03_对int数组加1",如下: 2. 在MainActivity.java中对add ...

  5. Android(java)学习笔记206:JNI之工具快速开发步骤

    下面通过一个案例说明一下,利用工具jni快速开发步骤 1.新建一个Android工程,命名为"03_对int数组加1",如下: 2. 在MainActivity.java中对add ...

  6. ARM-Linux基本开发步骤

    拿到一块YC2440(s3c2440)的开发板,经过几天的学习,我对arm-linux系统开发步骤有了一些认识.就以开发这个开发板为例,arm-linux开发工作大概分4个部分 1.       硬件 ...

  7. iOS应用内付费(IAP)开发步骤列表

    iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表, ...

  8. Cubieboard2裸机开发之(四)定时器操作

    前言 在Cubieboard2裸机开发之(三)里用到了一个延时函数delay,它的延时时间是不精确的,因此为了能够精确延时,就需要定时器的配合.定时器可以精确延时的一个重要原因是它的计时时钟(或者说频 ...

  9. hibernate学习笔记6--Criteria查询方式、完整小练习(开发步骤)

    一.Criteria查询方式没有sql语了,因此更加面向对象一些.Criteria是一种比HQL更面向对象的查询方式:Criteria的创建方式: Criteria c = s.createCrite ...

随机推荐

  1. 16 shell select in 循环

    select in 是 Shell 独有的一种循环,适用于与终端(Terminal)进行交互,在其他编程语言中是没有的. 用法 说明 脚本 select var in val_listdo    st ...

  2. F5的IPv6配置指导

    1.配置核心思想: 配置IPv6的默认路由 配置IPv6的VS IPv6的vs里面要启用"automap" 2.配置IPv6的默认路由 3.配置IPv6的VS 第一种方法: 第二种 ...

  3. Python使用笔记005-文件操作(二)

    1.1 打开文件模式 # r r+ r+读是没问题的,写的话,会覆盖原来的内容,文件不存在时会报错# w w+ w+用来新的文件没问题,旧的文件会覆盖原来的内容# a a+ a+写是追加,读不到是因为 ...

  4. CPU 几核

    1.设备管理器:打开"处理器",出现几个就是几核

  5. ajax请求对返回数据data的处理

    1,ajax请求会根据响应头的返回数据类型对返回的数据data变量进行不同的处理 $.get("data/user-permission-submit-" + ddo.manipu ...

  6. C++:数据类型

    /** * C++ 数据类型 : https://www.runoob.com/cplusplus/cpp-data-types.html * * 布尔: bool * 字符: char 1 个字节 ...

  7. 安装Go语言支持及Gogs版本管理工具

    安装Go语言支持及Gogs版本管理工具 1. GO 语言: 1.1 介绍 1.1.1 官方介绍: The Go programming language is an open source proje ...

  8. 解决VS2017调试卡住的问题

    今天用VS2017调试程序时,程序没有按照预期的那样运行到断点处,并且结束调试时会卡很长时间. 那么解决方法是: 1. [Tools]-->[Options]-->[Debugging]- ...

  9. 如何用js得到当前页面的url信息方法

    设置或获取对象指定的文件名或路径. alert(window.location.pathname) 设置或获取整个 URL 为字符串. alert(window.location.href); 设置或 ...

  10. RTC为何这么火?

    国内疫情已经接近尾声,有疫情的原因孵化的音视频互动类 App数量出现井喷式增长,通讯场景被资本关注,市场持续走高.在线教育.娱乐社交.直播带货等领域逆势增长,也带动了开发者们对于 IM 和RTC能力的 ...