赞
踩
接上篇,搭建完开发环境后,我们还要继续工作。
官方合作的开发板刚好有STM32F407,我准备试一下开发板的demo,虽然我用的不是他们的开发板。
先下载以下3份代码:
- https://gitee.com/openharmony/device_board_talkweb/tree/OpenHarmony-v3.2-Beta5/
- https://gitee.com/openharmony/vendor_talkweb/tree/OpenHarmony-v3.2-Beta5/
- https://gitee.com/openharmony/device_soc_st/tree/OpenHarmony-v3.2-Beta5/
device_board_talkweb下载后,要解压到://device/board/talkweb
device_talkweb下载后,要解压到://vendor/talkweb
device_soc_st下载后,要解压到://device/soc/st
准备好后,我们再运行hb set可以在列表里看到talkweb的信息,选中niobe407。
根据开发板的文档,还要进入kernel/liteos_m,进行make menuconfig选择board和applications。
然后执行hb build编译试一下。
编译成功后,就在out下面能找到OHOS_Image.bin
用JLINK下载OHOS_Image.bin后,串口什么反应也没有。
由于硬件差异,需要根据自己的硬件来修改时钟配置和串口引脚。
修改里面的参数。
/device/board/talkweb/niobe407/liteos_m/bsp/src/main.c
主要是PLL和GPIO。
- //板子晶振是25M的,如下修改
- #define BAUDRATE 115200
- #define NIOBE_PLLM 25
- #define NIOBE_PLLN 336
- #define NIOBE_PLLQ 7
- #define NIOBE_DELAY 1000
修改后,再次编译下载,还是没有反应。
经过一番调查后,发现这demo还编译了一个bootloader,这个bootloader什么也没做,只负责跳转到0x08010000。
参见:/device/board/talkweb/niobe407/liteos_m/bootloader/src/bootloader.c
最终bootloader合并app后,生成的文件名是:OHOS_Image_allinone.bin
用JLINK下载这个bin文件,终于在串口看到日志打印信息了。
- *************************************************************
-
- ████████╗ █████╗ ██╗ ██╗ ██╗██╗ ██╗███████╗██████╗
- ╚══██╔══╝██╔══██╗██║ ██║ ██╔╝██║ ██║██╔════╝██╔══██╗
- ██║ ███████║██║ █████╔╝ ██║ █╗ ██║█████╗ ██████╔╝
- ██║ ██╔══██║██║ ██╔═██╗ ██║███╗██║██╔══╝ ██╔══██╗
- ██║ ██║ ██║███████╗██║ ██╗╚███╔███╔╝███████╗██████╔╝
- ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚═════╝
-
- Welcome to use Niobe407 development board!
- Hardware version: 1.0.0
- Software version: 1.0.0
- *************************************************************
- entering kernel init...
- hilog will init.
- hievent will init.
-
- hievent init success.
- Entering scheduler
- hiview init success.
- [HDF:E/HDF_LOG_TAG]DeviceManagerStart in
- printf error!
- printf error!
- [HDF:I/gpio_manager]GpioManagerAdd: start:0 count:6 added success
- [HDF:D/HDF_LOG_TAG]PlatformManagerAddDevice: add dev:(null)(0) to PLATFORM_MODULE_GPIO success
- [HDF:D/HDF_LOG_TAG]PlatformDeviceAdd: add dev:(null)(0) success
虽然到此代码在我的STM32F407上面跑起来了,但还有满脑子问号需要进一步学习和调查。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。