本系列使用的硬件环境是友善之臂的 mini2440,百问网的OpenJtag,所有程序在 linux gcc下编译, 具体硬件设置 软件环境搭建可见openjtag 文档:
编译器使用友善之臂的 4.4.3 。编译器配置 /etc/profile:
PATH="$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin"
export PATH
注意如果在 /etc/provile 里面修改了编译器 之后,只是 source /etc/profile 还是不够的,无法调整所用编译器路径。 正确做法是 先 source /etc/environment 然后再 source /etc/profile
第一个程序是 led 灯控制:
开头 汇编 文件:
@******************************************************************************
@ File£ºcrt0.S
@ ¹¦ÄÜ£ºÍ¨¹ýËüתÈëC³ÌÐò
@******************************************************************************
#define PXT 0x12
.text
.global _start
_start:
ldr r0, =0x53000000 @ disable WATCHDOG
mov r1, #0x0
str r1, [r0] @
ldr sp, =1024*4 @ stack pointer point to 4K
bl main
halt_loop:
b halt_loop
主函数文件:
#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)
#define GPB5_out (1<<(5*2))
#define GPB6_out (1<<(6*2))
#define GPB7_out (1<<(7*2))
#define GPB8_out (1<<(8*2))
void wait(unsigned long dly)
{
for(; dly > 0; dly--);
}
int main(void)
{
unsigned long i = 0;
GPBCON = GPB5_out|GPB6_out|GPB7_out|GPB8_out;
while(1){
wait(100000);
GPBDAT = (1<< ( (i%4) + 5) );
if(++i == 16)
i = 0;
}
return 0;
}
这个程序实现的功能是点亮led 灯,并实现流水效果。其中高电平熄灭 led 灯。
链接脚本把两个文件链接成一个独立的二进制文件: ( 使用开始的 4K 字节内存)
SECTIONS {
. = 0x00000000;
.text : { *(.text) }
.rodata ALIGN(4) : {*(.rodata)}
.data ALIGN(4) : { *(.data) }
.bss ALIGN(4) : { *(.bss) *(COMMON) }
}
Makefile 脚本
CFLAGS := -Wall -Wstrict-prototypes -g -fomit-frame-pointer -ffreestanding
all : crt0.S leds.c
arm-linux-gcc $(CFLAGS) -c -o crt0.o crt0.S
arm-linux-gcc $(CFLAGS) -c -o leds.o leds.c
arm-linux-ld -Tleds.lds crt0.o leds.o -o leds_elf
arm-linux-objcopy -O binary -S leds_elf leds.bin
arm-linux-objdump -D -m arm leds_elf > leds.dis
clean:
rm -f leds.dis leds.bin leds_elf *.o
首先运行脚本openocd.sh
openocd -f /etc/openocd/interface/openjtag.cfg -f /etc/openocd/target/samsung_s3c2440.cfg
保持开启不退出状态。
然后另开启一个终端启动 elf 文件调试
arm-linux-gdb -x gdb.init leds_elf
其中 gdb.init 文件内容:
target remote 127.0.0.1:3333
monitor halt
monitor arm920t cp15 2 0
monitor step
load
此时就可以像调试普通程序一样调试这个裸机程序。
工程文件地址:
有一点特别需要注意:
汇编语言文件开头的位置标号必须是 _start: 如果是其它的则会导致 OpenJtag 无法识别,load 之后 用si指令执行导致 PC指针到未知的位置!!。
上一篇:mini2440裸机编程------IIS
下一篇:2440+dm9000A裸机以太网通讯
推荐阅读
史海拾趣
2010年3月15日,BLACK&DECKER迎来了公司历史上的一个重要时刻——与史丹利公司合并组建史丹利百得公司。这一合并不仅使BLACK&DECKER获得了更强大的资源和市场支持,还为其未来的发展提供了更广阔的空间。合并后的史丹利百得公司致力于提供整合的五金工具、存储设备和安防系统解决方案,以满足全球消费者的多样化需求。通过整合双方的优势资源和技术力量,史丹利百得公司有望在电子行业中取得更加辉煌的成就。
综上所述,BLACK&DECKER公司在电子行业中的发展故事充满了创新、进取和成功的元素。从创立初期的艰苦创业到如今的全球领先品牌,BLACK&DECKER凭借其卓越的产品质量、技术创新和市场拓展能力,赢得了消费者的信任和市场的认可。未来,随着科技的不断进步和市场需求的不断变化,BLACK&DECKER将继续保持创新精神,推动电子行业的持续发展。
BLACK&DECKER一直致力于产品革新和专利申请。1914年,公司为世界第一台配有枪式手柄、扳机开关和通用马达的便携式手电钻申请了专利。这一发明极大地提高了工作效率,并在市场上取得了巨大的成功。此后,BLACK&DECKER不断推出创新产品,如1946年发明的世界上第一台专为家用消费者设计的便携式电钻,以及后续的电动篱笆剪、全绝缘电钻等一系列重要发明。
在市场竞争日益激烈的背景下,川晶科技始终坚持创新驱动的发展战略。公司不断加大产品创新和自主研发的力度,推动产品向微型化、低耗能方向发展。通过引入新技术、新工艺,川晶科技成功开发出了一系列具有竞争力的新产品,满足了市场的多样化需求。同时,公司还积极探索新的应用领域,努力拓展市场空间,为公司的持续发展注入了新的动力。
随着全球电子产业的快速发展和市场竞争的加剧,ECT不断加快全球化战略的实施。公司在全球范围内设立分支机构,积极拓展海外市场,加强与国际知名企业的合作与交流。同时,ECT也注重培养本土人才和创新能力,不断提升公司的核心竞争力。展望未来,ECT将继续秉承“创新、质量、服务”的理念,致力于成为全球领先的电子测试系统供应商和服务商。
以上五个故事概述了Everett Charles Technologies (ECT) 公司的发展历程和关键节点,每个故事都体现了公司在技术创新、市场拓展和全球化战略方面的努力和成果。这些故事不仅展现了ECT的辉煌过去,也预示着其更加美好的未来。
Avery Dennison一直致力于技术创新和产品开发。例如,公司在水胶技术方面取得了显著进展,成功开发出环保且高效的水性乳液聚合物粘胶剂,成为第一家大规模供应这类产品的标签制造商。此外,公司还推出了具有智能功能的RFID标签产品组合,为零售、食品、物流、医疗等行业提供了数字化解决方案。这些创新产品不仅提升了公司的竞争力,也为客户创造了更大的价值。
CMOS Sensor Inc公司起源于硅谷,由一群热衷于光电图像采集技术的工程师创立。他们看到了光电图像采集技术在多个领域的巨大潜力,于是决定投身于这一行业。在创立初期,公司面临着资金短缺、市场竞争激烈等诸多挑战。然而,凭借着对技术的执着和不懈努力,CMOS Sensor Inc公司逐渐在市场中站稳了脚跟。
某天突发奇想,是否用C可以实现类似类似C++类的封装呢? 整好今天没干啥事,心理发慌。小试一下,是可以实现,只是没有C++中数据封装的安全性。 假如C++是在C基础上封装的,这种机制是怎么实现的捏,需要考究~~ #include <iostream> #d ...… 查看全部问答∨ |
|
本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata --------------------------------------------------------------------------------------------------- 请问大家:大功率三相全控桥的吸收电路怎么设计?… 查看全部问答∨ |
|
殷老师,王学长,陈学长,漆学姐,廖部----------------------764的全体室员。。。我代表1109班的孩纸们向你们问好啦,你们辛苦啦。。。。小的来给你打杂来了,请收下偶吧! 我一定好好发奋的!… 查看全部问答∨ |
|
我的板子被PCB协会评为2012年最烂的电路板,大家帮我看看有那么差吗? 我相信群众的眼光才是亮的! 下载下来分享给大家,希望不要范和我同样的错误了。不要问我PCB协会在那里啊! [ 本帖最后由 tzl 于 2012-5-23 08:19 编辑 ]… 查看全部问答∨ |