一.裸机开发步骤简介
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 工具使用
引用地址:
S3C2440—2.裸机开发步骤及工具使用
推荐阅读最新更新时间:2024-11-11 15:35
十三、S3C2440 裸机 — 初始化代码及MMU
13.1 NOR FLASH 搬运 把程序从 nor flash 上搬运到 SDRAM 中 程序存储在 nor flash 上,运行时将程序搬运到 SDRAM 中运行 nor flash 启动:nor flash 的地址从 0x0000 0000 开始,CPU 可以直接在 nor flash 上运行程序 在 nor flash 上运行程序很慢 SDRAM:地址为 0x3000 0000,程序烧录在 nor flash 上,运行时,将 nor flash 上的代码搬运至 SDRAM 中运行 nor flash 启动: 初始化寄存器 关闭看门狗 设置存储控制器 复制代码到 SDRAM 中 跳转 main
[单片机]
linux 2.6.32 在arm9(s3c2440)平台的移植2 -- Kconfig和Makefile(2)linux
Linux内核源码树的每个目录下都有一个Kconfig和Makefile, 分布到各目录的Kconfig构成了一个分布式的内核配置数据库, 每个Kconfig分别描述了所属目录源文档相关的内核配置菜单. 在linux目录执行内核配置make menuconfig时, 从Kconfig中读出菜单, 用户选择后保存到linux-2.6/.config的内核配置文档中. 在内核编译时, 主Makefile调用这个.config, Kconfig就是对应着内核的每级配置菜单. 添加新的驱动时需要修改有两种( 1如果添加的只是文件, 则只需修改当前层Kconfig和Makefile文件; 2如果添加的是目录, 则需修改当前层和新添目
[单片机]
S3C2440看门狗定时器
看门狗定时器的主要作用是在程序因为干扰而跑飞后,能够使系统复位,不至于使系统永远的死下去。它的原理与一般的定时器没有多大区别,就是先要设置好一段时间,当超过这段时间后,就从当前运行的程序中跳出进入中断处理程序中。但两者的主要差别是,一般的定时器中断是我们希望它发生的,因此我们不会在定时器中断发生前的那个时间段内干预它;而看门狗定时器中断是我们不希望它发生的,因此我们要想方设法地避免其发生。主要的方法就是在中断发生前,重新对看门狗定时器的寄存器进行赋值,使它的定时器重新开始计时。 view plain copy #include 2440addr.h #include Option.h #d
[单片机]
S3C2440-裸机篇-05 | S3C2440时钟体系详解(FCLK、PCLK、HCLK)
1.时钟架构 简化一下如图所示: 1.1.时钟源的选择 S3C2440的时钟源来源有两种: 外部晶振(OSC) 外部时钟信号(EXTCLK) 选择哪一路作为S3C2440的时钟源由模式控制引脚OM3和OM2引脚(的电平)决定,如何选择见下图: 以JZ2440开发板为例,其使用的是12Mhz外部晶振, 硬件电路如下: 其OM3和OM2选择引脚设置如下,选择第一种方式: 1.2.MPLL改变主时钟FCLK的控制时序(上电复位时序) 2.实验 —— LED闪烁(为了后续对比) 2.1.实验目的 使用C语言控制LED闪烁。 2.2.实验代码 启动文件与之前相同; C程序添加延时函数delay修改后如下: v
[单片机]
S3C2440 开发板实战(9):poll机制
内核:linux -2.6.22.6 内核执行poll过程 从代码的角度来看,poll机制是通过应用程序调用poll() 函数,poll()函数的使用方法可以通过man poll进行查看,可仿照最终程序中进行改写,这里不做重复说明。配合驱动函数中相对应的drv_poll() 函数配套使用的。函数执行的入口当然是应用程序中的poll()函数,接着进入内核中的sys_poll() 函数,poll机制的函数在路经:linux/fs/select.c下,原代码如下: 739 asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds, 740
[单片机]
s3c6410 s3c2440串口发送接收数据的实现(轮询)及相关寄存器
1 6410与串口相关寄存器 一 需要设置的寄存器(其实进入uboot后,串口已经设置好了,直接发送数据就行了,) 1)模式 UCON (轮询,中断,DMA等) 2)相关参数 ULCON0 定义了串口数据的帧格式,数据位长度,奇偶校验位,停止位(8-N-1) BRDIV 定义了波特率的计算公式所得结果的整数部分 UDIVSLOT0 定义了波特率的计算公式所得结果的小数部分 3)高级选项(串口的发送接收缓冲的大小(fifo)默认是1B,可改成64B 二 发送接收数据 相关的寄存器 UTXH0 UART channel 0 transmit buffer register URXH0 UART chan
[单片机]
s3c2440之LCD字符显示
#define U32 unsigned int #define M5D(n) ((n) & 0x1fffff) #define rGPCCON (*(volatile unsigned *)0x56000020) #define rGPCDAT (*(volatile unsigned *)0x56000024) #define rGPCUP (*(volatile unsigned *)0x56000028) #define rGPDCON (*(volatile unsigned *)0x56000030) #define rGPDDAT (*(volatile unsigned *)0x56000034)
[单片机]
S3C2440裸机------Nor Flash编程_识别
1.编写菜单程序 首先我们编写一个测试菜单程序,用来获取norFlash信息以及对NorFlash进行读写操作,代码如下: void nor_flash_test(void) { char c; while (1) { /* 打印菜单, 供我们选择测试内容 */ printf( Scan nor flashnr ); printf( Erase nor flashnr ); printf( Write nor flashnr ); printf( Read nor flashnr ); printf( quitnr ); printf( Enter selection:
[单片机]