共2条
1/1 1 跳转至页
ADS1 ADS1.2中怎么嵌入汇编语言呢?
问
各位大哥:
有个问题我不太明白,请问在ADS1。2的C编译环境下,怎么嵌入汇编程序呢?怎么调用由汇编语言做的函数呢?请指点一二,谢谢 答 1: 请教下面是热心的网友回复我,但是编译出错,请问是什么问题呢?
很多资料书籍都有介绍,方法如下:
__ARM
{
LDR R5,[R6]
}
答 2: 错误代码如下:
OS_ENTER_CRITICAL();
__ARM
{
LDR R5,[R6]
MRS r0, cpsr
}
temp =0x1234;
出错:
Error : C2456E: undeclared name, inventing 'extern int __ARM'
Main.c line 558
Error : (Serious) C2284E: expected ';' after command - inserted before '{'
Main.c line 558
Error : C2456E: undeclared name, inventing 'extern int LDR'
Main.c line 559
Error : (Serious) C2284E: expected ';' after command - inserted before 'R5'
Main.c line 559
Error : C2456E: undeclared name, inventing 'extern int R5'
Main.c line 559
Error : (Serious) C2291E: <expression> expected but found ''
Main.c line 559
Error : C2456E: undeclared name, inventing 'extern int R6'
Main.c line 559
Error : (Serious) C2284E: expected ';' after command - inserted before 'MRS'
Main.c line 560
Error : C2456E: undeclared name, inventing 'extern int MRS'
Main.c line 560
Error : (Serious) C2284E: expected ';' after command - inserted before 'r0'
Main.c line 560
Error : C2456E: undeclared name, inventing 'extern int r0'
Main.c line 560
Error : C2456E: undeclared name, inventing 'extern int cpsr'
Main.c line 561
Error : (Serious) C2284E: expected ';' after command - inserted before '}'
Main.c line 561
答 3: __asm 答 4: 哪位大哥指点一下吧哪位大哥指点一下吧 答 5: 不是告诉你了吗?把__ARM改成__asm就可以了 答 6: re__ARM -> __asm 答 7: 好了,请各位参考总算改好了,谢谢em_ldbb大哥,twentyone 大哥的指点。 下面贴出来让还有疑问的兄弟参考。
_asm
{
LDR R5,[R6] ;
ORR r0, r0, #0xC0 ;
}
有个问题我不太明白,请问在ADS1。2的C编译环境下,怎么嵌入汇编程序呢?怎么调用由汇编语言做的函数呢?请指点一二,谢谢 答 1: 请教下面是热心的网友回复我,但是编译出错,请问是什么问题呢?
很多资料书籍都有介绍,方法如下:
__ARM
{
LDR R5,[R6]
}
答 2: 错误代码如下:
OS_ENTER_CRITICAL();
__ARM
{
LDR R5,[R6]
MRS r0, cpsr
}
temp =0x1234;
出错:
Error : C2456E: undeclared name, inventing 'extern int __ARM'
Main.c line 558
Error : (Serious) C2284E: expected ';' after command - inserted before '{'
Main.c line 558
Error : C2456E: undeclared name, inventing 'extern int LDR'
Main.c line 559
Error : (Serious) C2284E: expected ';' after command - inserted before 'R5'
Main.c line 559
Error : C2456E: undeclared name, inventing 'extern int R5'
Main.c line 559
Error : (Serious) C2291E: <expression> expected but found ''
Main.c line 559
Error : C2456E: undeclared name, inventing 'extern int R6'
Main.c line 559
Error : (Serious) C2284E: expected ';' after command - inserted before 'MRS'
Main.c line 560
Error : C2456E: undeclared name, inventing 'extern int MRS'
Main.c line 560
Error : (Serious) C2284E: expected ';' after command - inserted before 'r0'
Main.c line 560
Error : C2456E: undeclared name, inventing 'extern int r0'
Main.c line 560
Error : C2456E: undeclared name, inventing 'extern int cpsr'
Main.c line 561
Error : (Serious) C2284E: expected ';' after command - inserted before '}'
Main.c line 561
答 3: __asm 答 4: 哪位大哥指点一下吧哪位大哥指点一下吧 答 5: 不是告诉你了吗?把__ARM改成__asm就可以了 答 6: re__ARM -> __asm 答 7: 好了,请各位参考总算改好了,谢谢em_ldbb大哥,twentyone 大哥的指点。 下面贴出来让还有疑问的兄弟参考。
_asm
{
LDR R5,[R6] ;
ORR r0, r0, #0xC0 ;
}
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3学习整理】使用 LPUART 的loopback 模式实现核间通讯被打赏¥28元 | |
| arduinounoq原生zephyr环境搭建被打赏¥31元 | |
| 树莓派3+Klipper,MPU6050共振补偿被打赏¥41元 | |
| GroveCreatorKit套件+摇杆测评被打赏¥18元 | |
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
我要赚赏金
