使用 C 语言为开源鸿蒙编写第一个程序 Hello NeZha。
下载编译工具链
前往 玄铁资源中心,在 资源目录 中选择 剑池开发工具集 - 编译工具 - GCC工具链-900系列。若在 Windows 系统下进行编译,则下载 Xuantie-900-gcc-linux-6.6.0-musl64-mingw-V3.2.0-20250627.tar.gz;若在 Linux 系统下进行编译,则下载 Xuantie-900-gcc-linux-6.6.0-musl64-x86_64-V3.2.0-20250627.tar.gz。
以 Windows 系统为例,下载完成后解压,Xuantie-900-gcc-linux-6.6.0-musl64-mingw-V3.2.0\bin\riscv64-unknown-linux-musl-gcc.exe 即为将要使用的编译器。
编写程序
创建 hello_word.c 文件,内容如下:
#include <stdio.h>
int main(int argc, char const *argv[])
{
printf("Hello NeZha\n");
return 0;
}
编译程序
使用以下命令进行编译,其中 riscv64-unknown-linux-musl-gcc.exe 替换为实际的编译器路径:
.\Xuantie-900-gcc-linux-6.6.0-musl64-mingw-V3.2.0\bin\riscv64-unknown-linux-musl-gcc.exe hello_word.c -static -o hello_word
NOTE
-static参数用于生成静态链接的可执行文件,避免在目标设备上运行时出现缺少动态库的问题。 此处使用gcc编译C语言程序,后续也可以使用g++编译C++语言程序。 默认生成的是release模式的可执行文件,若需要包含调试信息以便调试程序,可以添加-g参数以生成debug模式的可执行文件。
编译成功后会在 hello_word.c 同目录下生成 hello_word 可执行文件。
传输程序
NOTE由于哪吒开发板上的开源鸿蒙系统目前不支持通过
hdc传输文件,此处使用 U 盘进行传输。为保证兼容性,使用FAT32格式化 U 盘。
将 U 盘插入电脑,复制 hello_word 文件到 U 盘根目录。然后将 U 盘插入哪吒开发板的 USB 接口。
查看哪吒开发板是否识别到 U 盘:
ls /dev/block/
识别到的 U 盘应类似于 sda 或 sda1 等。若有多个 sda,挂载数字最大的那个。
使用以下命令在哪吒开发板上挂载 U 盘:
mkdir -p /mnt/sda
mount -t vfat /dev/block/sda /mnt/sda
NOTE后续可以使用
umount /mnt/sda命令卸载 U 盘。
将程序复制到 /bin 目录下:
cp -v /mnt/sda/hello_word /bin/
chmod +x /bin/hello_word
运行程序
输入命令 hello_word 即可运行程序,程序运行如下:
# hello_word
Hello NeZha
#
