一、编写源程序(init.S、testledC.lds、testledC.c、Makefile)
@******************************************************************************
@ File:init.S
@ 功能:通过它转入C程序
@******************************************************************************
.text
.global _start
_start:
ldr r0, =0x53000000 @ WATCHDOG寄存器地址
mov r1, #0x0
str r1, [r0] @ 写入0,禁止WATCHDOG,否则CPU会不断重启
ldr sp, =1024*4 @ 设置堆栈,注意:不能大于4k, 因为现在可用的内存只有4K
@ nand flash中的代码在复位后会移到内部ram中,此ram只有4K
bl main @ 调用C程序中的main函数
halt_loop:
b halt_loop
/***********************************
*功能:链接文件TestledC.lds
*************************************/
SECTIONS {
. = 0x00;
.text : { *(.text) }
.rodata ALIGN(4) : {*(.rodata)}
.data ALIGN(4) : { *(.data) }
.bss ALIGN(4) : { *(.bss) *(COMMON) }
}
SECTIONS {
. = 0x00;
.text : { *(.text) }
.rodata ALIGN(4) : {*(.rodata)}
.data ALIGN(4) : { *(.data) }
.bss ALIGN(4) : { *(.bss) *(COMMON) }
}
/**************************************
*编写testledC.c源程序
*************************************/
/*************************************************
* File: testledC.c
* funtion:stream light
* author:zhaochuang
* data: 2013.5.8
* vision 1.0
**************************************************/
#define rGPBCON (*(volatile unsigned *)0x56000010)
#define rGPBDAT (*(volatile unsigned *)0x56000014)
#define rGPBUP (*(volatile unsigned *)0x56000018)
void msdelay(int time)
{
volatile unsigned int i,j;
for(i=0;i<2000;i++)
for(j=0;j
上一篇:mini2440裸机程序LED
下一篇:mni2440烧写裸机程序(Uboot下载)
推荐阅读最新更新时间:2024-11-12 15:17
设计资源 培训 开发板 精华推荐
- [已验证]BQ24650-光伏MPPT多串锂电及12V铅酸充电电路
- LT6654BMPS6-3.3 具有升压输出电流和电流限制的电压基准的典型应用
- 使用 Infineon Technologies AG 的 TLE4296GV33T 的参考设计
- 使用 ROHM Semiconductor 的 BU4939 的参考设计
- IRDC3847-PVCCIO,用于 IR3847 同步降压转换器 600KHZ 的评估套件。先进的集成负载点 DC-DC 稳压器
- MIKROE-3350、4G LTE-AT&T Click Board 是一款 LTE Cat 1/UMTS 多模蜂窝网络解决方案,采用紧凑型 LARA-R2 系列调制解调器
- 10cm pcb直尺
- LT4320IMSE-1 理想二极管桥控制器的典型应用电路
- 用于首页应用的 LTC3374EFE 降压稳压器的典型应用电路
- Sg2525A稳压脉宽调制器典型应用电路