对于一个工程的结构理解
来源:互联网 发布:可以马赛克视频软件 编辑:程序博客网 时间:2024/06/14 16:52
这里只简单说说Linux下对ARM11的情况 mmu_init(); led_init(); button_init(); init_irq(); led_on(); while(1); return 0;
一般最基本的有三个部分 .c/.S .lds makefile
这里面.c/.S是源文件,就是我们的想法写在这里面,不一定只有一个,可以有很多个
int main()
{
#ifdef MMU_ON
#endif
}
.lds是脚本文件,用来链接几个源文件编译产生的.o文件,产生可执行的.elf文件
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS {
. = 0x50008000;
. = ALIGN(4);
.text :
{
start.o (.text)
*(.text)
}
. = ALIGN(4);
.data :
{
*(.data)
}
. = ALIGN(4);
bss_start = .;
.bss :
{
*(.bss)
}
bss_end = .;
}
makefile对编译的方便化,在Linux里面就相当于是Windows里面的IDE集成开发环境
这里写上一些规则,把文件怎么处理,在一个源文件里面不需要写上所有函数,可以通过makefile把.o问价链接起来之后再调用,这样每个函数都可以自己写成一个.c/.S文件了
all: start.o mem.o main.o mmu.o led.o button.ointerrupt.o
arm-linux-ld -Tgboot.lds -o gboot.elf $^
arm-linux-objcopy -O binary gboot.elf gboot.bin
%.o : %.S
arm-linux-gcc -g -c $^
%.o : %.c
arm-linux-gcc -g -c $^
.PHONY: clean
clean:
rm *.o *.elf *.bin
阅读全文
0 0
- 对于一个工程的结构理解
- 对于代数结构的理解
- 对于如何去做一个系统的理解
- 一个初学者对于MVC架构的理解
- 一个SAP顾问对于SAP的理解
- 一个初学者对于MVC架构的理解
- 一个月对于laravel框架的理解
- 一个初学者对于MVC架构的理解
- 一个初学者对于MVC架构的理解
- 一个初学者对于MVC架构的理解
- 对结构的一个理解
- 对于结构体指针+、-常数的理解(page_to_pfn和pfn_to_page)
- 对于结构体指针+、-常数的理解(page_to_pfn和pfn_to_page)
- 关于一个树形结构对于数据库的查询
- 一个例子对于类继承和关键字“this”的理解
- 转载一个对于初级动态代理的生动理解
- 对于继承的理解
- 对于volatile的理解
- 内存初始化
- ARM汇编,MCR和MRC
- 【转】arm-linux-ld命令&nbs…
- 关于链接器脚本 & makefile
- OK6410按键中断点亮lED
- 对于一个工程的结构理解
- nandflash的读写使用,基于OK6410
- OK641的串口初始化程序
- 对于串口的使用(基于OK6410的串口…
- 排序算法
- 对一个工程文件的整理
- BootLoader简介与基本命令
- Python下中文预处理
- 基于OK6410的LCD操作