Before we start, I assume that you have embedded hardware for system design and implementation.
If not, it's okay. We can still use virtualization technology to do
### Environment setup
Since my target machine is based on ARM, I need to prepare a cross-platform tool chain to compile and build the target binary file
```shell=
sudo apt-get install -y g++-aarch64-linux-gnu
## Virtualization tool used for further simulation
## If you have hardware, you can skip this installation
sudo apt-get install -y qemu-system-aarch64
```
I don't think we need to do complicated things, such as compiling the source code..., so we download directly from the package manager.
After installing the toolchain, you should have these tools.
![](https://i.imgur.com/k45oNv8.png)
And the qemu system.
![](https://i.imgur.com/4OfyO1c.png)
If you have completed the above installation, you can go to the next section to do a simple implementation.
But every engineer always encounters bugs, one comes after another...
#### [Optinoal] Debugger compilation
```shell=
## Step 1
wget http://ftp.gnu.org/gnu/gdb/gdb-9.1.tar.gz
## Step 2
tar -xvf gdb-9.1.tar.gz gdb-9.1/
## Step 3
cd gdb-9.1 && mkdir build
## Step 4
../configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu
## Step 5
export CC=aarch64-linux-gnu-gcc
## Step 6
sudo make
## Step 7
sudo make install
```
Step 6 -
![](https://i.imgur.com/7p0JobT.png)
Step 7 -
![](https://i.imgur.com/Kh5i2VL.png)
---
@ arm platform series - 0
###### tags: `CY`