您的位置:首页 > 其它

RVDS4.0上开发cortex A8 NEON程序

2010-08-30 22:43 351 查看
用RVDS4.0集成开发环境新建一个target为cortex A8 NEON的工程,即便是hellowolrd,也无法正常运行,

然而自己写makefile调用amrcc的方式就可以。在水木等地咨询,虽然回复的网友众多,其中不乏一些高手,但是问题总是解决不了。

最后还是arm的技术支持技高一筹,给了下面的代码,并设置程序入口点为init_cpu,问题解决

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472a/CHDFDADC.html

#ifdef __TARGET_ARCH_7_A
__asm void init_cpu()
{
// Set up CPU state
MRC p15,0,r4,c1,c0,0
ORR r4,r4,#0x00400000 // enable unaligned mode (U=1)
BIC r4,r4,#0x00000002 // disable alignment faults (A=0)
// MMU not enabled: no page tables
MCR p15,0,r4,c1,c0,0
#ifdef __BIG_ENDIAN
SETEND BE
#endif
MRC p15,0,r4,c1,c0,2 // Enable VFP access in the CAR -
ORR r4,r4,#0x00f00000 // must be done before any VFP instructions
MCR p15,0,r4,c1,c0,2
MOV r4,#0x40000000 // Set EN bit in FPEXC
MSR FPEXC,r4
IMPORT __main
B __main
}
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: