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
然而自己写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
相关文章推荐
- RVDS4.0上开发cortex A8 NEON程序
- RVDS4.0上开发cortex A8 NEON程序
- RVDS4.0开发OK6410(一)RVDS4.0实现第一个流水灯程序
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- cortex-A8 ARM核 opencv程序移植 (4)
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- Cortex-A8和Android应用开发视频教程
- TI SYS/BIOS cortex A8 开发
- Cortex A8,PWM裸机程序
- [ARM Cortex-A8]S5PV210裸板7寸LCD C程序
- Differences between NEON in Cortex-A8 and A9
- cortex-A8 ARM核 opencv程序移植
- Cortex A8,ADC转换程序
- 嵌入式软件开发培训笔记——boot原理与u-boot 基于Cortex_A8核的S5PC100芯片
- Cortex A8,RTC程序
- Optimizing Code for ARM Cortex-A8 with NEON SIMD
- Cortex-A8和Android应用开发视频教程
- cortex-A8 ARM核 opencv程序移植 (2)
- 基于Cortex-A8裸机,点亮LED灯程序分析
- Cortex A8 LED 点亮程序分析