感谢 发烧友学院以及拓维信息 为我和孩子提供此产品## 开鸿智谷NiobeU4开发板。感谢研发人员依然小烨哥和 大佬们的支持指导。
处理器简介
ESP32 -U4WDH乐鑫单核Wi-Fi & 蓝牙芯片(ECO V3)-内置 4MB Flash,448KB ROM以及520KB SRAM。
NiobeU4开发板简介
NiobeU4是基于ESP32U4WDH推出的物联网设备开发套件,集成2.4GHzWifi和蓝牙双模,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,适用于各种应用场景;NiobeU4开发套件还支持NFC非接触式通讯功能,工作频率13.56MHz,适用于低功耗、低电压和低成本要求的非接触读写器应用;NiobeU4开发套件还支持锂电池供电和充放电管理;开发套件提供一个开箱即用的智能硬件解决方案,方便开发者验证和开发自己的软件和功能,缩短产品研发周期并快速推向市场。
NiobeU4开发套件采用单面元器件的单板形式,板上主控的绝大部分管脚均已引出到排针上,开发人员可根据实际需求,轻松通过跳线连接多种外围器件。功能示意框图如下。

NiobeU4开发板功能框图
搭建开发环境
系统环境要求:建议Ubuntu20.04版本及以上。
准备用win10+ 虚拟机安装操作系统Ubuntu20.04
厂家建议https://mirrors.aliyun.com/oldubuntu-releases/releases/20.04.3/https://mirrors.aliyun.com/oldubuntu-releases/releases/20.04.3/
厂家建议搭建开发环境https://gitee.com/fangye945a/device_board_openvalley/blob/master/niobeu4/README_zh.mdhttps://gitee.com/fangye945a/device_board_openvalley/blob/master/niobeu4/README_zh.md
准备软硬件
看下厂家提供的资源,使用此 开发板 准备操作系统(win10),开发Ubuntu20.04软件及厂家代码,MobaXterm_chs_v20.0软件与此开发板 下传的连接usb 一根.
准备操作系统(win10)

准备虚拟机VMware Workstation 16 Player

准备 ubuntu-20.04.5-live-server-amd64.iso
正常创建安装ubuntu-20.04.5
- 选择使用整块磁盘,不选择LVM,LVM是一个磁盘管理工具,下面是加密的意思,不选择,默认Done。

- 安装SSH服务,选中Install OpenSSH server,按下空格进行勾选,然后选中Done,按回车。


安装ubuntu虚拟机至完成。
准备MobaXterm_chs_v20.0软件
起动ubuntu虚拟机用MobaXterm_chs_v20.0软件使用ssh登录。
- 使用ssh登录Ubuntu server,如图所示。

sudo apt install ccache
sudo apt install git git-lfs
git config --global user.email "xxx"
git config --global user.name "xxx"
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
pip3 install --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple jinja2 ohos-build==0.4.6 esptool
- 将hb工具添加至环境变量。

在MobaXterm右侧打开 ~/.bashrc
export PATH=$PATH:~/.local/bin
在MobaXterm左侧
source ~/.bashrc
安装repo工具
如果已经安装并拉取过OpenHarmony代码,请忽略该步骤。
如果是通过apt install安装的repo,请卸载后按照下述步骤重新安装。
sudo apt install curl -y
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo

在MobaXterm右侧 ~/repo #更属性 a+x repo
在MobaXterm左侧
sudo mv repo /usr/local/bin/
安装交叉编译工具链
新建一个目录,用来存放下载的编译工具链。
mkdir -p ~/download && cd ~/download
下载交叉编译工具链压缩包。
wget https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz
将交叉编译工具添加至环境变量。
sudo tar axvf xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz -C /opt/
在MobaXterm右侧打开 ~/.bashrc
export PATH=$PATH:/opt/xtensa-esp32-elf/bin
在MobaXterm左侧source ~/.bashrc * 使配置生效。
获取源码
mkdir niobeu4_src && cd niobeu4_src
repo init -u https://gitee.com/fangye945a/niobeu4_trial.git -m devboard_niobeu4.xml
repo sync -c
repo forall -c 'git lfs pull'
repo start master --all
由于Openharmony主分支代码更新暂时需要找到fcntl函数并注释掉

在MobaXterm右侧打
在/home/lst/niobeu4_src/device/soc/esp/esp32/components/newlib/
下打开syscalls.c文件,找到fcntl函数并注释掉如下:
//int fcntl(int fd, int cmd, ...)
//{
// va_list args;
// va_start(args, cmd);
// int arg = va_arg(args, int);
// va_end(args);
// struct _reent* r = __getreent();
// return _fcntl_r(r, fd, cmd, arg);
//}

构建源码
- 进入源码根目录,执行hb set命令并选择openvalley下的iotlink。
hb set

hb build –f
构建成功会提示类似如下信息。
[OHOS INFO] iotlink build success
[OHOS INFO] cost time: 0:03:28
烧录镜像
- 通过MobaXterm软件ssh登录服务器,将生成的文件Download到Windows系统下,如图所示。

Windows下可以使用Flash_Download_Tool
工具进行烧录,点击这里开始下载。
- 在windows下解压flash_download_tool_3.9.2.rar。
- 双击解压后得到的烧录工具flash_download_tool_3.9.2.exe,chipType选择 ESP32, workMode选择 develop,进入主界面。
图4 Flash_Download_Tool
打开页面图

- 连接开发板的TypeC口到PC,查看设备管理器,确定串口端口号。
图5 设备管理器图

- 进入下载页面,填入需要烧录的 bin 文件和对应的烧录地址,并根据自己实际 需求填入 SPI SPEED、SPI MODE、COM 及 BAUD。
固件对应烧录地址如下。
//out/niobeu4/iotlink/bin/bootloader.bin
//out/niobeu4/iotlink/bin/partitions.bin
//out/niobeu4/iotlink/OHOS_Image.bin
图6 烧录设置页面图

- 点击 START 开始下载。下载过程中,下载工具会读取 flash 的信息和芯片的 MAC 地址。我们可以通过勾选框选择是否烧录该文件,一般我们在首次烧录时会全部烧录,为了加快开发效率,调试时只需烧录
OHOS_Image.bin
即可。下载完成后,可以看到如下提示。
图7 烧录成功页面图

运行镜像
烧录完成后需要按下复位键复位设备,程序才会启动。
推荐使用xshell
进行串口调试,点击这里进行下载。
- 新建会话(菜单栏->文件->新建),设置会话名称并选择协议为
SERIAL
。
**** xshell
页面新建会话图

- 配置串口参数,选择正确的端口号,波特率设置为115200,如下图所示。
**** xshell
页面串口参数配置图

- 由于系统打印信息中没有使用
\r\n
换行,会导致log显示不对齐。需要设置终端属性,用CR+LF接收LF(R)。
**** xshell
页面设置终端属性图

**** 日志打印图

板正常,达到预期状态。环境搭建并初步测试 结束