问题描述
我需要有关在C代码中使用内联汇编的帮助。
该设备是1.5GHz的四核Cortex-A72(ARM v8)64位SoC。
伪代码为:
put addr1 into X9
put addr2 into x10
for i:= 0 to N−1 do
STR X0,[X9]
STR X0,[X10]
DC CIVAC,X9
DC CIVAC,X10
所以我的C代码是:
for (i = 0; i < N; i++) {
asm volatile(
"str %2,[%0]\n\t"
"str %2,[%1]\n\t"
"dc civac,%0\n\t"
"dc civac,%1\n\t"
//"dsb 0xb"
::"r" (addr1),"r" (addr2),"r" (temp)
);
我认为我没有以正确的方式使用说明。
谁能帮助我了解是否正确?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)