Understanding AMBA Architechture and Protocols

The Advanced Micro controller Bus Architecture (AMBA) bus protocols is a set of interconnect specifications from ARM that standardizes on chip communication mechanisms between various functional blocks (or IP) for building high performance SOC designs. These designs typically have one or more micro controllers or microprocessors along with several other components — internal memory or external memory bridge, DSP, DMA, accelerators and various other peripherals like USB, UART, PCIE, I2C etc — all integrated on a single chip. The primary motivation of AMBA protocols is to have a standard and efficient way to interconnecting these blocks with re-use across multiple designs.

Read More

AMBA APB Revisions

APB2 APB3 APB4 Signal Direction
PADDR[31:0] PADDR[31:0] PADDR[31:0] MoSi
PRPOT[2:0] MoSi
PSEL PSEL PSEL MoSi
PENABLE PENABLE PENABLE MoSi
PWRITE PWRITE PWRITE MoSi
PWDATA[31:0] PWDATA[31:0] PWDATA[31:0] MoSi
PSTRB[3:0] MoSi
PREADY PREADY SoMi
PRDATA[31:0] PRDATA[31:0] PRDATA[31:0] SoMi
PSLVERR PSLVERR SoMi

Add a New Disk in Linux With Parted

The parted disk utility can be used for disk partition larger than 2TB.

1
2
3
4
5
6
7
8
9
10
11
% sudo lsblk
% sudo parted /dev/sdb mklabel gpt
% sudo parted /dev/sdb mkpart primary 0 100%
% sudo mkfs.xfs /dev/sdb1
% sudo mkdir /tools
% sudo mount /dev/sdb1 /tools
% sudo lsblk
% sudo df -hT
% sudo blkid
% sudo echo "UUID=0f559a31-08b5-47aa-9a60-d9a6594941ad /tools xfs defaults 0 0" >> /etc/fstab
% sudo reboot

Add a New Disk in Linux With Fdisk

The fdisk disk utility can only be used for disk partition no larger than 2TB.

1
2
3
4
5
6
7
8
9
10
11
12
% sudo lsblk
% sudo fdisk -l
% sudo fdisk /dev/sdb
% sudo lsblk
% sudo partprobe
% sudo mkfs.xfs /dev/sdb1
% sudo mkdir /tools
% sudo mount /dev/sdb1 /tools
% sudo df -hT
% sudo blkid
% sudo echo "UUID=0f559a31-08b5-47aa-9a60-d9a6594941ad /tools xfs defaults 0 0" >> /etc/fstab
% sudo reboot