簡體   English   中英

為 C 中的二維數組分配特定的起始地址

[英]Assigning specific starting address to 2D array in C

我正在為微控制器系統編寫一個程序,該系統有一個外部源將一個二維樣本數組寫入數據緩存中的可配置區域。 對於較大的批次,這自然會使用更高百分比的 memory,而且我注意到程序會覆蓋已由外圍源寫入的地址以用於循環變量、中斷上下文保存等。

起始地址以及數組的維度是外部可配置的。 我希望阻止程序使用 memory 中使用的部分。

到目前為止,我有:

volatile float* samples_ptr = (float *)(base_address);

有沒有辦法在保持起始地址的同時將此 volatile 變量分配為數組?

我不知道 C 是否可以做到這一點,但是如果你想保留 memory 的一個區域供外設寫入,並且如果在編譯之前知道地址和大小,你可以考慮編輯你的 Z3175B424 腳本和 36046787EECE277 memory 位置類似於.rodata (即只讀數據)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM