Re: [問題] 幾個小問題請教

作者: montieddie (艾迪)   2015-04-24 21:29:47
※ 引述《baldhawk (哈哈)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: C
: 問題(Question):
請問ARM 設定 Register問題,
要設定Register 0x2000_0000 的值為 0x12345678
用如下寫法:
Typedef struct
{
UINT32 A;
}B;
(B *)(0x20000000) -> A = 0x12345678;
應該是把位址0x20000000轉型結構指標"B", 再指向變數"A",
就可以把值存到Register裡面,
一定轉型成B才能設值? 有比較簡單方法嗎?
謝謝
作者: EdisonX (卡卡獸)   2015-04-24 22:08:00
*(UINT32*)(0x20000000) = 0x12345678; ??不過話說這種 Code 在 F.W 那裡應該寫成 macro 較佳 ?#define SET_ADDR_VAL(ADDR,VAL) *(UINT32*)ADDR = VAL;我才發現這篇的回文原來和原主題沒關係 Orz
作者: montieddie (艾迪)   2015-04-24 22:41:00
不好意思 和原文是沒關係的(B *)(0x20000000)->A 和 *(UINT32*)ADDR 相同嗎?這邊也搞不太懂
作者: EdisonX (卡卡獸)   2015-04-25 00:53:00
效果是一樣的。
作者: notBeing (read and be read)   2015-04-25 18:45:00
precedence是->比type cast高, 這compile會過?

Links booklink

Contact Us: admin [ a t ] ucptt.com