この投稿では、バスとメモリマップについて説明します。
バスは、CPUと内部制御ユニット(Clock, IPR)、メモリユニット(RAM, F-ROM, EEP-ROM)、外部信号入出力ユニット(GPIO, ADC) 通信ユニット(UART, CAN, I2C, SPI)、内外部制御ユニット(Timer/Counter, DMA)などを繋ぐ伝送路です。バスには、アドレスバスとデータバス、コントロールバスがあります。
アドレスバスは、CPUから指定された各ユニットのメモリやユニットレジスタ (UNIT Register)のアドレスの伝送路です。伝送路の幅は、MCUによって8, 16, 32bit長があります。
データバスは、CPUから指定された各ユニットのメモリやユニットレジスタのデータの伝送路です。伝送路の幅は、MCUによって8, 16, 32bit長があります。コントロールバスのRead/Writeによって、伝送方向が変わります
コントロールバスは、データのRead/Writeを制御する信号線です。
メモリマップは、各ユニットのメモリやユニットレジスタのアドレスをマッピングしたものです。