历史上的今天
今天是:2025年04月01日(星期二)
2020年04月01日 | S5PV210的LED应用(二)
2020-04-01 来源:eefocus
准备分析
这次用C语言实现LED的控制,要设置堆栈指针,这里的start.S好比是有操作系统的helloworld程序中的crt0.o--是一个启动代码。
堆栈指针设置到了0xD003_7D80处。
资源工具
同《 S5PV210的LED应用(一)》
着手写程序
@******************************************************************************
@ File:start.S
@ 功能:通过它转入C程序
@******************************************************************************
.text
.global _start
_start:
ldr sp, =0xD0037D80 @ 设置堆栈,以便调用c函数
bl main @ 调用C程序中的main函数
halt_loop:
b halt_loop
@******************************************************************************
/******************************************************************************
/* File: led.c
/* 点亮LED1
/******************************************************************************/
#define GPJ2CON (*(volatile unsigned long *) 0xE0200280)
#define GPJ2DAT (*(volatile unsigned long *) 0xE0200284)
int main()
{
GPJ2CON = 0x00000001; //设置GPJ2_O为输出
GPJ2DAT = 0; // LED1 on
while(1);
return 0;
}
Makefile:
led_sp.bin: start.o led.o
arm-linux-ld -Ttext 0x0 -o led_sp.elf $^
arm-linux-objcopy -O binary led_sp.elf led_sp.bin
arm-linux-objdump -D led_sp.elf > led_sp_elf.dis
gcc mkv210_image.c -o mkv210
./mkv210 led_sp.bin 210.bin
%.o : %.S
arm-linux-gcc -o $@ $< -c
%.o : %.c
arm-linux-gcc -o $@ $< -c
clean:
rm *.o *.elf *.bin *.dis mkv210 -f
下载运行
同《 S5PV210的LED应用(一)》
运行调试
程序简单,运行正常。
遗留问题
1.了解到iROM的程序已经将看门狗初始化好,就先不自己实现了。日后再说看门狗。
下一篇:S5PV210的IRAM应用
史海拾趣
|
在wince下怎么调用dll? 我有vc下的一个.dll,.lib,.h文件,在wince的程序里编译通过。 同时在模拟器里已经加了dll文件。但是运行的时候总是显示没有找到某个元件。 请问dll的调用和.lib一致吗?… 查看全部问答> |
|
lm3s8962上的RT-Thread连载——Finsh shell的基本使用 RT-Thread Shell实验1 Finsh的基本使用 实验目的: ² 了解RT-Thread的命令行工具Finsh Shell组件 ² 掌握Finsh Shell的基本使用方法; ²& ...… 查看全部问答> |
|
【转帖】深入解析STM32_USB-FS-Device_Lib库(V3.1.0) 深入解析STM32_USB-FS-Device_Lib库(V3.1.0) 基于STM32 的USB程序开发笔记,写的挺不错,与大家分享 开发笔记1.rar (1.94 MB) 下载次数:454 2010-8-27 09:48 开发笔记2.rar ...… 查看全部问答> |




