start.S文件:
.globl _start
_start:
1、硬件相关的设置:把外设的基地址告诉CPU
0 ~ 0x6fff ffff为内存的地址空间,0x7000 0000 ~ 0x7fff ffff为外设寄存器的地址空间
ldr r0, =0x70000000
orr r0, r0, #0x13
mcr p15,0,r0,c15,c2,4 @ 256M(0x70000000-0x7fffffff)
2、关看门狗 ,往WTCON(0x7E004000)写0
ldr r0, =0x7E004000
mov r1, #0
str r1, [r0]
3、设置栈,nand flash启动的时候,一上电硬件会强制性的把前8K的内容复制到内存里,
我们的程序比较小小于8K,所以可以把堆栈指针指向8K以外的空间即可,
只要那部分内存没有被使用既可以
在调用C函数之前必须设置栈,调用汇编函数之前不用设置栈
ldr sp, =8*1024
mov r0, #9
bl xxxxx
halt:
b halt
====================================================================
led.c文件:
void delay(int count)
{
volatile int i = count;
while (i--);
}
int xxxxx(int start)
{
int i = start;
volatile unsigned long *gpmcon = (volatile unsigned long *)0x7F008820;
volatile unsigned long *gpmdat = (volatile unsigned long *)0x7F008824;
*gpmcon = 0x1111; //gpm0,1,2,3设为输出引脚
while (1)
{
*gpmdat = i;
i++;
if (i == 16)
i = 0;
delay(0x10000);
}
return 0;
}
====================================================================
Makefile文件:
led.bin: start.o led.o
arm-linux-ld -Ttext 0 -o led.elf start.o led.o
arm-linux-objcopy -O binary led.elf led.bin
arm-linux-objdump -D led.elf > led.dis
start.o : start.S
arm-linux-gcc -o start.o start.S -c -O2
led.o : led.c
arm-linux-gcc -o led.o led.c -c -O2
clean:
rm *.o led.elf led.bin led.dis
上一篇:OK6410光盘里的uboot不能用TFTP下载文件?
下一篇:OK6410裸机学习第三天:3th_leds_c
推荐阅读
史海拾趣
Datatronic公司深知人才是企业发展的核心。因此,公司一直注重人才的培养和引进。公司建立了完善的人才培训体系,为员工提供广阔的发展空间和机会。同时,公司还积极引进国内外优秀人才,为公司的技术创新和市场拓展提供了有力支持。这些举措使得Datatronic公司在人才方面形成了竞争优势。
在汽车制造领域,福特一直是技术创新的领导者。20世纪60年代,福特开始将电子设备集成到汽车中,包括车载电话、导航系统以及早期的娱乐系统。这些创新不仅提升了驾驶的便捷性和舒适性,也预示着未来汽车电子化、智能化的趋势。虽然这些技术并不直接属于航空通信范畴,但它们展示了福特在电子技术应用方面的前瞻性和实力。
在汽车制造领域,福特一直是技术创新的领导者。20世纪60年代,福特开始将电子设备集成到汽车中,包括车载电话、导航系统以及早期的娱乐系统。这些创新不仅提升了驾驶的便捷性和舒适性,也预示着未来汽车电子化、智能化的趋势。虽然这些技术并不直接属于航空通信范畴,但它们展示了福特在电子技术应用方面的前瞻性和实力。
在20世纪20年代,亨利·福特不仅专注于汽车制造业,还展现了对航空技术的浓厚兴趣。他资助了威廉·布什纳尔·斯道特(Willam Bushnell Stout)的飞机研发项目,这标志着福特向航空领域的初步探索。斯道特设计的福特三发飞机(后被称为“铁皮鹅”)虽未直接成为商业成功的典范,但它为福特汽车公司积累了宝贵的航空技术经验,也为后续可能的航空通信项目奠定了基础。
随着技术实力的不断增强,Embedded Planet公司开始积极拓展国际市场。公司凭借先进的产品和优质的服务,成功打入欧洲和北美市场,与多家国际知名企业建立了长期稳定的合作关系。在国际市场的竞争中,Embedded Planet公司不断提升自身的品牌影响力和市场份额,成为嵌入式系统领域的佼佼者。
作为一家负责任的企业,Embedded Planet公司一直将绿色环保理念融入产品设计和生产过程中。公司积极采用环保材料和技术,努力降低产品对环境的负面影响。同时,公司还倡导员工参与环保活动,共同为地球的可持续发展贡献力量。这些环保实践不仅提升了公司的社会形象,也为公司赢得了更多客户的信任和支持。
PLC-(S7-200)系列心得--如何验证数据是否正确保存到了EEPROM中? 有两种方法可以验证数据是否正确保存到EEPROM中: 1)在“系统块-数据保持”设置中取消相应数据区(V存储区)的保持设置,则CPU在上电时会用EEPROM中相应区域的数值覆盖RAM中的数据,可以检查数据是否正确 2)使用Micro/WIN的Upload ...… 查看全部问答∨ |
最近做了一个反激式电源,自己做的反激式变压器,利用PWM调节占空比来控制输出的。但是发现效率很低,希望有经验的设计者能提供一些参考意见来提高这种dcdc电源的效率 谢谢… 查看全部问答∨ |
飞凌的TE6410开发板,基于S3C6410处理器,大家欣赏一下,各项性能很完美,详情:http://www.witech.com.cn/product/TE-6410.html … 查看全部问答∨ |
看WINCE看得我头痛了!这个函数,那个函数,还有设备管理我始终不明白,恳请各路高手指教!我现在遇到了这样一个函数:AdvertiseInterface,不知道这个函数是干什么的?有什么作用?为什么要使用这个函数!什么情况下要使用这个函数!谢谢!… 查看全部问答∨ |
我有两个平台,一个通过了,另一个通不过,不知道怎么回事? 原文件覆盖方法确实很方便,不过好象文件大一点点就起不到作用,不知哪位高手们有其它更好的方法… 查看全部问答∨ |
|
分频器74LS163不工作,是什么原因呢?我把晶振产生的时钟信号通过74LS163,想通过它来分频,可是发现信号频率并没有变,到底是什么原因呢?请教各位大侠,谢谢!… 查看全部问答∨ |