質問編集履歴
1
最終的にじつげんしたいことについて追記いたしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# 実現したいこと
|
2
2
|
通常変数を作成するとランダムでアドレスが割り振られますが、そのアドレスを自分自身で指定したいです。
|
3
3
|
|
4
|
+
### #追記
|
5
|
+
マイコンのCPUのメモリマップを参照して、RAMやCPU内のキャッシュ、ROM(メモリマップからアクセスできないかもしれません)それぞれに割り当てられたアドレス内で、アドレスを任意で指定してデータを代入したいです。
|
6
|
+
|
7
|
+
# なぜ必要か(追記しました)
|
8
|
+
メモリに放射線を照射するとSEUと呼ばれるメモリのビット反転が起こることがあります。
|
9
|
+
この頻度を確かめるためにRAMやeMMCやCPU内のメモリ(キャッシュ)に一定値データを書き込み、一定時間後に読み込むことで書き込んだデータと読み込んだデータを比較するプログラムを作成しようと考えています。
|
10
|
+
|
11
|
+
|
4
12
|
#試したこと
|
5
13
|
ポインタのアドレスを指定することは出来ましたが、下のプログラムのようにポインタ変数の指すアドレス内に値を代入すると、VSCode上ではコンパイルができたものの結果が出力されませんでした。
|
6
14
|
「 gcc -o test test.c 」はできましたが「 ./test 」を実行しても何も表示されませんでした。
|
@@ -19,7 +27,12 @@
|
|
19
27
|
```
|
20
28
|
参照 : [メモリ内の特定の絶対アドレスに変数を配置する方法(GCCを使用)](https://www.it-swarm-ja.tech/ja/c/%E3%83%A1%E3%83%A2%E3%83%AA%E5%86%85%E3%81%AE%E7%89%B9%E5%AE%9A%E3%81%AE%E7%B5%B6%E5%AF%BE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E5%A4%89%E6%95%B0%E3%82%92%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%EF%BC%88gcc%E3%82%92%E4%BD%BF%E7%94%A8%EF%BC%89/970750859/)
|
21
29
|
|
30
|
+
# 環境(追記しました)
|
31
|
+
マイコンで試す前にPC上でテストしていました。
|
22
|
-
|
32
|
+
PCでの環境
|
23
|
-
Widows10
|
33
|
+
・Widows10
|
24
|
-
Visual Studio Code
|
34
|
+
・Visual Studio Code
|
25
|
-
GCC
|
35
|
+
・GCC
|
36
|
+
|
37
|
+
NXP社製マイコン i.MX8MMの環境
|
38
|
+
・Linux
|