• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 快速开发指南
2
3## 1.调试打印
4- 如下图所示,通过typeC接口的usb线连接开发板与电脑:
5
6    ![](figures/2-1.png)
7
8- 在设备管理器中查看正确的COM号:
9
10    ![](figures/2-2.png)
11
12- 打开串口终端(此处使用的xshell,也可用其它终端代替), 将波特率设置为`115200`:
13
14    ![](figures/2-3.png)
15
16    ![](figures/2-4.png)
17
18    ![](figures/2-5.png)
19
20- 复位设备,即可在终端看到如下系统运行的打印(`配置开启的功能不同,打印信息也可能不同`):
21
22    ![](figures/2-6.png)
23
24## 2.运行示例程序
25- 我们在//device/board/talkweb/niobe407/applications目录下提供了多个示例程序供大家参考,并且可以通过menuconfig配置快速选择运行对应的示例程序。使用步骤如下:
26
27    1.进入//kernel/liteos_m目录
28    ```shell
29    cd kernel/liteos_m
30    ```
31    2.执行make menuconfig
32    ```shell
33    make menuconfig
34    ```
35    3.通过方向键和回车选择并进入Platform->Board Selection选项
36
37    ![](figures/2-7.png)
38
39    4.通过方向键移动至use talkweb niobe407 application选项,通过回车选择使用示例程序
40
41    ![](figures/2-8.png)
42
43    5.进入niobe407 application choose选项,选择要运行的示例程序:
44
45    ![](figures/2-9.png)
46
47    具体示例功能请参考:
48
49    | 示例名称| 示例说明 |
50    | :---- | :---- |
51    | 调试打印示例 | [001_system_helloworld](../../applications/001_system_helloworld/README_zh.md) |
52    | 线程使用示例 | [002_system_thread](../../applications/002_system_thread/README_zh.md) |
53    | 定时器使用示例 | [003_system_timer](../../applications/003_system_timer/README_zh.md) |
54    | 事件使用示例 | [004_system_event](../../applications/004_system_event/README_zh.md) |
55    | 互斥锁使用示例 | [005_system_mutex](../../applications/005_system_mutex/README_zh.md) |
56    | 信号量使用示例 | [006_system_semp](../../applications/006_system_semp/README_zh.md) |
57    | 消息队列使用示例 | [007_system_message](../../applications/007_system_message/README_zh.md) |
58    | ADC温度采集示例 | [101_peripheral_adc_temperature](../../applications/101_peripheral_adc_temperature/README_zh.md) |
59    | 硬件随机数生成示例 | [102_peripheral_rng_number](../../applications/102_peripheral_rng_number/README_zh.md) |
60    | CAN数据收发示例 | [103_peripheral_can_example](../../applications/103_peripheral_can_example/README_zh.md) |
61    | HDF gpio按键示例 | [201_hdf_gpio_key](../../applications/201_hdf_gpio_key/README_zh.md) |
62    | HDF SPIFlash读写示例 | [202_hdf_spi_flash](../../applications/202_hdf_spi_flash/README_zh.md) |
63    | HDF 串口示例 | [203_hdf_usart](../../applications/203_hdf_usart/README_zh.md) |
64    | HDF I2C读写示例 | [204_hdf_i2c](../../applications/204_hdf_i2c/README_zh.md) |
65    | HDF 看门狗示例 | [205_hdf_watchdog](../../applications/205_hdf_watchdog/README_zh.md) |
66    | HDF PWM输出示例 | [206_hdf_pwm](../../applications/206_hdf_pwm/README_zh.md) |
67    | TCP客户端示例 | [301_network_tcpclient](../../applications/301_network_tcpclient/README_zh.md) |
68    | TCP服务端示例 | [302_network_tcpserver](../../applications/302_network_tcpserver/README_zh.md) |
69    | UDP测试示例 | [303_network_udptest](../../applications/303_network_udptest/README_zh.md) |
70    | iperf带宽测试示例 | [308_network_iperf_server](../../applications/308_network_iperf_server/README_zh.md) |
71    | Key-Value存储示例 | [401_file_kv_store](../../applications/401_file_kv_store/README_zh.md) |
72    | 文件读写示例 | [402_file_fs_store](../../applications/402_file_fs_store/README_zh.md) |
73    | CCRAM内存使用示例 | [501_optimization_ccmram_use](../../applications/501_optimization_ccmram_use/README_zh.md) |
74
75
76    6.保存配置并退出menuconfig(按下`"s"`键保存配置,然后回车两次确定,再按下`"q"`键退出配置)
77
78    ![](figures/2-10.png)
79
80    7.回到根目录编译代码
81    ```shell
82    cd ../../
83    ```
84## 3.编写自己的应用程序
85- 如果需要开发自己的应用程序,参考步骤如下:
86    - 在menuconfig配置中关闭use talkweb niobe407 application选项,并保存配置。
87
88        ![](figures/2-11.png)
89
90    - 在`//device/board/talkweb/niobe407/applications`目录下,复制与您应用功能开发最相近的application示例程序,并修改文件夹名称(此处以修改为`test`为例)
91
92        ![](figures/2-12.png)
93
94    - 修改`//device/board/talkweb/niobe407/applications/BUILD.gn`,在末尾位置将自己写的应用目录名称添加至编译脚本[ ]中。
95
96        ![](figures/2-13.png)
97
98    - 参考`//device/board/talkweb/niobe407/applications`下示例代码,根据实际情况修改`//device/board/talkweb/niobe407/applications/test/BUILD.gn`编译脚本及目录下的源码文件。
99
100    - 以如下编译脚本为例:
101
102        ![](figures/2-14.png)
103
104        `sources` : 指定参与编译的源文件。
105
106        `include_dirs` : 指定编译搜索头文件路径。
107
108        此外还可以通过如下关键字指定编译相关选项:
109
110        `cflags`: 编译阶段指定的参数
111
112        `ldflags`: 链接阶段指定的参数
113
114        Tips:构建系统默认会搜索`"."`和`"./include"`目录下的头文件,无需重复指定。
115
116    - 添加头文件`#include "ohos_run.h"`
117
118    - 通过`OHOS_APP_RUN`宏指定应用程序函数入口。(`注意该入口函数的返回值和一个形参必须为void,并且应用程序函数入口只能指定一个`)
119
120    - 回到sdk代码根目录,编译代码即可。
121## 4.内核扩展功能的使用
122除了例程外,一些内核扩展功能也能在menuconfig中选择是否开启:
123- shell命令行支持:
124
125    ![](figures/2-15.png)
126
127    Tips: 开启后可以通过命令行执行一些基础功能,支持的命令可通过help查看。
128
129    ![](figures/2-16.png)
130
131- littlefs文件系统支持:
132
133    ![](figures/2-17.png)
134
135    Tips: 开启后可以在打印信息中看到文件系统挂载成功的提示,如果有文件操作需求则需要打开该选项。
136
137    ![](figures/2-18.png)
138
139- lwip支持:
140
141    ![](figures/2-19.png)
142
143    Tips: 当需要使用到有线网络时,需要开启该选项。
144
145- HDF驱动框架支持:
146
147    ![](figures/2-20.png)
148
149    Tips: 当需要使用到HDF驱动框架时,需要开启该选项。
150
151