历尽千辛万苦,终于让我的ARM跑起了跑马灯

我是从AVR入门ARM的,所以首先想控制IO口实现跑马灯。

用ADS编写了一个程序如下:

按下Compile按钮,出现下列提示:

Error : C2456E: undeclared name, inventing 'extern int PINSEL0'

....

反正就是那几个寄存器都未定义的意思了。

在ADS目录里面翻来翻去,也没找到一个可以让我include的LPC2000系列的头文件。

那我就自己写吧,于是写成这样:

编译是通过了。

于是将生成的ELF文件load进Proteus,进行仿真。

看到的结果就是P0.0的点位一直是0,没有进行预计的变换。

仔细找书来看,说是ARM启动需要一段启动代码,用来定义异常向量表、堆栈分配等等

可是我这个超级新手,怎么写那么复杂的东西啊。。。

想想ARM的编译器也不止ADS一个,试试Keil吧

下载了个Keil uVision 3.55,安装以后,把Keil自带的Hello更改了一下,无非就是把printf("Hello")换成跑马灯语句

编译不成功,提示我Keil的演示版已经过期...

哦,对了,我还得找破解版的。。。

在网上找到了一个破解版,又寻找了破解教材,破解后提示说

Device is not supported by Toolchain

网上说是没有破解成功。有可能,那个破解小程序有那么多选项,我就挨个试,还是不行,纳闷中。。。

后来仔细阅读破解教材,又下载了另一个版本的Keil 3.31,安装后编译成功了。原来那个破解程序不支持3.55的

没找到Keil生成ELF文件的方法,就将生成的HEX文件load进Proteus,运行仿真还是不行,P0.0端口的逻辑值显示的是"?"

我的Proteus是这样画的电路:

LPC2104的所有V3脚接3V的电源(自定义的VCC3V),所有V18脚接1.8V的电源(自定义的V18)

(这两个电源配置没有问题)注意,没有放置VCC

运行仿真就是无法看到P0.0电位变换。

是不是Proteus无法识别由3V电源输出的3V的IO口电平是高是低呢?(纯粹是自己的胡乱猜想)

我就在电路和LPC2104毫无关系的地方放了一个电阻,一端接VCC,另一端接GND,两端都放上一个LOGICPROB。

运行仿真,电阻两边的LOGICPROB按照预期出现了1和0,咦?LPC2104的P0.0也同时出现了1,0交替的情景,hoho,开心

 

总结一下,要使Proteus仿真ARM实现单片机类似的跑马灯,需要如下条件:

1. ARM程序要有启动代码,这个可以用Keil给写好的startup.s

2. Proteus必须有VCC节点

 

额。。。其实总结一下貌似也没啥特别的东西啊,不过这个经历还是蛮曲折的,带领我进入了ARM的世界

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法生成视频,但我可以为您提供一段文字描述。请注意,这只是一个描述,不是实际的视频。 视频描述: 视频以一个富有戏剧性的场景开始,画面呈现出一个年轻男子在一个古老而神秘的房间里,面对着一位神秘的算命先生。男子对算命先生持怀疑态度,认为他只是用不正当手段来骗取金钱。 然而,当算命先生开始说话时,男子的表情逐渐变得惊讶和震惊。算命先生所说的每一句话都似乎揭示了男子过去发生的每一件错事。男子彻底被吓疯了,他开始怀疑这位算命先生到底是何方神圣。 决心找到算命先生,男子踏上了一段充满艰辛和困难的旅程。他穿越荒芜的山脉和危险的森林,经历了无数的考验和挑战。最终,他终于找到了算命先生。 男子并没有怨恨算命先生,相反地,他感激地向算命先生表示自己的感谢。算命先生递给他一个装满锦囊的礼物,男子好奇地打开了锦囊。在一张歪七扭八的纸上,写着三个简单而又重要的字:“加入文艺部”。 画面切换到男子加入文艺部的场景,他融入了这个充满创造力和热情的群体。他开始参与各种艺术活动,表演戏剧、写作诗歌、绘画等。他通过文艺表达找到了自己的内心平衡和满足感。 整个视频以一种神秘而梦幻的氛围呈现,通过视觉和音效的组合,突出了“加入文艺部”这一关键词,让观众感受到主人公在追寻真相和内心归属的过程中的变化和成长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值