エンジニアくん– Author –
組み込みソフトエンジニアとして働きながら、
C言語・メモリ・ポインタなどの基礎から実務まで解説しています。
副業・キャリアについても実体験ベースで発信中です。
X・github・ココナラ・Qiita・noteでも発信しています。
・X:更新情報・日常
・github:作成物の公開
・ココナラ:依頼の受注
・Qiita:技術発信
・note:キャリア・副業
▼まずはここから読むのがおすすめ
・C言語文法シリーズ
・メモリ領域解説シリーズ
・割り込み処理解説シリーズ
・ソフトウェア設計解説シリーズ
・キャリアと副業ロードマップ
-
メモリ領域
リンカスクリプトとは?組み込みC言語のメモリ配置の仕組みをわかりやすく解説
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら 組み込み開発では、プログラムや変数がROMやRAMのどこに配置されるかが決まっています。 メモリ領域の全体像 この配置(メモリマップ)を... -
メモリ領域
メモリマップとは?組み込み開発でのROM・RAM配置をわかりやすく解説
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら 組み込み開発では、プログラムや変数がどこに配置されるかを理解することが重要です。その配置を示したものが メモリマップ です。 メモリ... -
メモリ領域
DRAMとSRAMの違いとは?組み込み開発での使い分けをわかりやすく解説
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら RAMにはいくつか種類があり、代表的なのが DRAM と SRAM です。 どちらもRAMですが、仕組みや特性が大きく異なります。この違いは、組み込... -
割り込み
割り込み処理の基本から設計まで完全ガイド|組み込み開発のためのまとめ記事
割り込み処理をまとめて理解したい 割り込みって、結局どう設計するのが正解なんですか? ポイントは、“ISRを書くだけ”じゃなく、設計全体で考えることなんだ 組み込み開発では、割り込み処理は避けて通れません。 しかし実際には、 とりあえずサンプル通... -
メモリ領域
ROM・RAM・FLASHの違いとは?初心者でもわかるように図解で解説【組み込み】
ROM・FLASH・RAMの違い(概要) 一言でいうと「消えるメモリ(RAM)と消えないメモリ(ROM/FLASH)」の違いです。 ROM・FLASH・RAMの違いは次の通りです。 メモリ書き込み電源OFF用途RAM可能消える作業メモリROM基本不可消えないプログラム保存FLASH可能消... -
メモリ領域
C言語の配列はなぜポインタのように使えるのか?メモリ構造から理解する
はじめに C言語を学んでいると、こんなコードをよく見ます。 Cint arr[3] = {1,2,3}; int *p = arr;int arr[3] = {1,2,3}; int *p = arr; さらに: Carr[1]arr[1] と Cp[1]p[1] が同じように使えます。 ... -
メモリ領域
C言語のスタックフレームとは?関数呼び出し時のメモリ構造を図でわかりやすく解説
はじめに 関数を呼び出すと、スタック領域にはどのようなデータが積まれるのでしょうか。 C言語では関数呼び出しのたびに、スタック上に**スタックフレーム(Stack Frame)**と呼ばれる領域が作られます。 このスタックフレームには次のような情報が保存さ... -
メモリ領域
メモリレイアウトまとめ|メモリレイアウトからポインタまでtext・data・bss・heap・stackを体系的に理解する
メモリ構造をまとめて理解したい 先輩、メモリ関連の勉強をしたいのですがどこから勉強すればよいか分かりません! そうだね。このページではメモリ構造の全体像と、メモリ構造解説シリーズの紹介をするよ。 C言語を学んでいると、 text領域とは何か data... -
メモリ領域
static変数とは?C言語のメモリ配置とグローバル変数との違いをわかりやすく解説
static変数とは? C言語の static変数 とは、静的記憶域に配置され、プログラム終了まで存在し続ける変数です。 通常のローカル変数は関数を抜けると消えてしまいますが、static変数は 関数が終わっても値が保持され続けます。 #include <stdio.h> v... -
メモリ領域
スタック領域とは?C言語のStackの仕組みとヒープとの違いを解説
C言語のプログラムでは、メモリは複数の領域に分かれて管理されています。 例えば次のような領域があります。 text領域:プログラムのコード data領域:初期値ありのグローバル変数 bss領域:初期値なしのグローバル変数 heap領域:mallocで使用する動的メ...