关于keil4编译ARM的问题?

#include<lpc213x.h>
void delay(unsigned int s)
{
unsigned int x;
for(;s>0;s--)
for(x=0;x<5000;x++);
}

int main()
{
PINSEL0=0x00000000;
PINSEL1=0x00000000;
while(1)
{
IO0DIR = 0x00000080;// P0.7 配置用作输出
IO0CLR = 0x00000080;// P0.7 输出为低
delay(150);
IO0SET = 0x00000080;// P0.7 输出为高
delay(150);
IO0CLR = 0x00000080; //P0.7 输出为低
}
}
///////////////////////////////////////////////////////////////////////////////////
如上程序,用Keil4编译,lpc2138芯片:
在Debug中看GPIO的变化是如程序所写,而烧入HEX文件到lpc2138,P0.7口却没有没有反应。[lpc2138硬件电路没问题的]
请高手指点

好久以前用过了。配置端口以后给点延时。
IO0DIR = 0x00000080;// P0.7 配置用作输出
这句话后面加个delay
另外,你要想清楚看看p0.7有没有变化,把后面两个delay延时加大
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-22
你的程序就只有这一点吗?追问

是的,lpc213x.h和这里的main。c 。还需要什么吗?

追答

这样怎么行的?你还要去配置PLL(系统时钟),外设时钟,还有最基本的起动文件你都没有。我的是用的LPC1768的,在建立好了一个项目之后有这样几个文件在里面(core_cm3.c,system_LPC17xx.c,startup_LPC17xx.s),这三个文件是在每个工程里面都少不了的。

追问

我这几天一直在查资料,我用的是keil自带的启动文件startup.s里面有PLL等配置,在configuraion wizard里可以设置PLL、MNM、HEAP、STACK、EXTERNAL MEMORY,不知道这些够不够?我看了很多程序,有些也是只有startup.s/lpc213x.h/main.c这三个文件。这是我的最新发现,希望你也能用的上,有空看下。不知道为什么我那个就不行?

追答

你先在网上下一个人家可以在常运行的工程,下过来看看与你的有什么不同,我用的是LPC1768的,与你用的还是有很大的差异。你的是ARM7的内核(The LPC2131/32/34/36/38 microcontrollers are based on a 16/32-bit ARM7TDMI-S CPU),我用的是cortex-m3内核(Cortex-M3处理器采用ARMv7-M架构),这个能有很多不用的,在网上找找,一定有这方面的工程文件的。

第2个回答  2011-11-22
那是因为你的delay函数不起作用了,被优化掉了,建议不要用优化。
也有可能是把配置放在while(1)里面了。试试看追问

试过,还不行。
delay(150);怎么会被优化呢?

keil4的arm编程是出现错误
:__ARM_use_no_argv这个标志符重复定义了。在a.c和a.c文件里。mcp.axf: Error: L6200E: Symbol main multiply defined (by a.o and a.o).main 这个也是(好像是有两个main函数了)

关于keil4的ARM与51的共存安装方法
然后再将C51V901里的TOOLS.INI文件下所有内容复制到MDK4.70里的LS.INI文件下的尾部,并将所有的keil4改为keil。接下来再将MDK4.70注册,步骤与注册C51V901一样,只是有一点需要注意,注册时讲Target下拉菜单选择为ARM.接下来就可以用了.

keil4那个版本是可以编译arm和51的
KEIL MDK是编译ARM的,KEIL C51是编译51单片机的。你需要编译哪种程序,就装那种编译器。这两种编译器是可以装一起的,MDK貌似到4.60版了,51貌似到9.00了,你在网上分别下载就可以了。

keiluvision4,mdk编写arm,能写51么?mdk和uv4什么关系、共存么?
可以的,但得安装。51还arm不是一个keil安装包的。单安装两个之后,回自动识别安装到同一个开发环境中去。得

ARM C语言编程优化策略(KEIL平台)
ARM C语言在KEIL平台上的编程优化策略主要包括编译器选项、循环优化、内联函数、volatile关键字使用、纯净函数、数据对齐、C99特性、栈和寄存器管理、编译器特性以及链接器应用。以下是对这些内容的概述:1. 编译器优化选项:KEIL提供了不同等级的优化设置,如最小优化便于调试,有限优化在保持一定调试信息的...

急!!!关于keil4的51和ARM(MDK)并存问题!!!
1 先安装 Keil C51,安装目录改为:"D:\\Keil2"(我是安装在D盘的)2 再安装RealView MDK,目录:"D:\\Keil"3 把Keil2下的C51文件夹全部复制到 Keil下 4 把Keil2下的 UV4(或者UV3)下的所有文件复制粘贴到 Keil下的UV4文件夹里,注意,如果提示有 重复 的文件,是否覆盖时,一律选择否,即不覆盖.5...

keil4打开文件时出现这是什么情况?
造成这样错误的原因可能有以下几种:1、你的编译器是Keil for ARM,而你将要打开的工程是Keil 51。或者你的编译器是Keil 51而工程是Keil for ARM。2、'D:\\keil4\\TOOLS.INI'文件被破坏。对于第1个原因,你需要重新安装匹配的编译器(注意:如果你想同时拥有两种编译器,则需要将两个编译器分别装...

请教keil4 for arm 与keil4 for c51共存问题
分别放在两个文件夹安装就好了。可以共存的,但是有如下问题,亲测,我用51写的代码,下次直接用ARM版本的打开,程序不能修改,不能编译,反正只能看,用ARM写的代码,保存后用51的KEIL查看,同样的情况

arm编译器版本不可用
1、检查ARM编译器版本:确保ARM编译器版本的兼容性。例如,Keil编译器在5点37版本后默认使用的是ARM编译器版本6,而不是5点06版本。如果工程需要使用ARM编译器5版本,那么检查ARM编译器版本是否正确,并确保其版本符合需求。2、手动下载并安装:如果使用ARM编译器5版本,但是系统默认提供的版本不能满足...

keil uvision4没有arm怎么新增
新的使用者介面可以更好地利用萤幕空间和更有效地组织多个视窗,提供一个整洁,高效的环境来开发应用程式。新版本支援更多最新的ARM晶片,还添加了一些其他新功能。 2011年3月ARM公司释出最新整合开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、除错工具实现与ARM器件的最完美...

相似回答