teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

最終的にじつげんしたいことについて追記いたしました。

2020/12/16 05:55

投稿

kuruto
kuruto

スコア2

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