首页 > 其他 > 详细

笔记TODO

时间:2020-04-13 00:28:06      阅读:77      评论:0      收藏:0      [点我收藏+]

 

https://blog.csdn.net/qq_42800075/article/details/105023699

 https://blog.csdn.net/u013490896/article/details/79323783

https://biscuitos.github.io/blog/Linux-0.11-Usermanual/

 

https://github.com/Wangzhike/HIT-Linux-0.11/blob/master/1-boot/OS-booting.md

 

https://my.oschina.net/lngligelang/blog/221411

https://my.oschina.net/lngligelang/blog/221771

https://my.oschina.net/lngligelang/blog/223200

 

 

BiscuitOS/output/linux-0.11/linux/linux/arch/x86/boot/Makefile

bootsect: bootsect.o
$(Q)$(LD) $(LDFLAGS) $(local_LDFLAGS) -o $@ $<

 

 

http://news.eeworld.com.cn/mcu/article_2016040825595.html

我们写一个汇编程序,控制GPIO,从而控制外接的LED,代码如下;

.text

.global _start

_start:

    LDR R0,=0x56000010 @GPBCON寄存器
   
    MOV R1,# 0x00000400
    str R1,[R0]
   
    LDR R0,=0x56000014
    MOV R1,#0x00000000
   
    STR R1,[R0]
   
    MAIN_LOOP:
            B MAIN_LOOP

    代码很简单,就是一个对io口进行设置然后写数据。我们看它是如何编译的,注意我们这里使用的不是arm-linux-gcc而是arm-elf-gcc,二者之间没有什么比较大的区别,arm-linux-gcc可能包含更多的库文件,在命令行的编译上面是没有区别。我们来看是如何编译的:

       arm-elf-gcc -g -c -o led_On.o led_On.s 首先纯编译不连接

       arm-elf-ld -Ttext 0x00000000 -g led_On.o -o led_on_elf

       用Ttext指明我们程序存储的地方,这里生成的是elf文件,还不是我们真正的bin,但是可以借助一些工具可以进行调试。

 

笔记TODO

原文:https://www.cnblogs.com/sinferwu/p/12688370.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!