用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