公寓善骑士 必先利其器
骑士要住在好的公寓, 就必须要先准备好工具
: ????
不过在真正要开始开发之路之前, 我们必须要先准备好开发环境. 不管你是否拥有嵌入式开发板, 接下来的Lab都有机会可以尝试
因为我们即将面向aarch64的架构进行编程, 所以我们直接安装整套的gnu toolchain
sudo apt-get install -y g++-aarch64-linux-gnu
在正确的安装之後, 试着看看有没有以下的指令可以使用
接着继续安装qemu, 我们会使用它来进行系统模拟
sudo apt-get install -y qemu-system-aarch64
安装完之後可以使用以下指令测试qemu是否正确安装
qemu-system-aarch64
完成上述步骤 接着我们就可以先实作简单的lab
但... 工程师的使命就是制造一堆bug
我们如何知道因为开发过程中恍神而造成记忆体操作上的失误?
我们需要强大的神器 : GDB
之後会使用GDB来远程调试, 所以如果直接在host上安装; 会没办法debug arm platform的系统
自行编译GDB就可以设定target platform
取得GDB source後解压缩
执行configure来设定host跟target的对应关系
../configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu
可以看到target设定为aarch64
接下来就可以compile 利用刚刚安装的GNU toolchain
export CC=aarch64-linux-gnu-gcc
make
make install
安装完毕之後执行gdb
你就可以看到美丽的画面 如下图
那今天就大致设定好後续会大量使用到的工具
[下集预告]
大致讲解如何使用每一个组件来开发bare metal的系统所代表的含意以及用途
<<: 【程序】与你的 IDE 成为好朋友 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 4
>>: 新新新手阅读 Angular 文件 - DataBinding - Day17
我们今天要把环境给设定好,并且尝试将laravel专案启动,而在我写这篇文章之前,我已经有利用Hom...
回到储存空间部分, 因为有个 EFS也挺重要的 EFS (Elastic File System)...
对於新手来说,AJAX课题里比较难懂的部分应该是背後的运作概念,而非程序码本身。这个课题会分开几篇,...
课程目标 本课程定位为「软件测试入门砖」,课程规划依据「2018 ISTQB Foundation ...
N卡有毒,直通打完驱动后卡代码43,不能用,找了一圈只需要加上一行代码就能解决 先找到虚拟机文件位置...