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`