文件目录
名称 | 描述 |
custom | 用户代码目录、用户程序入口 |
docs | 文档 |
examples | 示例代码 |
include | OpenCPU API 头文件 |
out | 编译输出目录 |
prebuild | 预编译文件 |
third-party | 第三方开源代码库 |
tools | 编译工具脚本 |
SDK特征
编译环境
OpenCPU SDK开发包自带编译必需工具,使用前解压开发包至任意非中文路径下即可完成编译环境搭建。请注意解压路径不能包含中文、空格及“&”符号。
备忘
ML307A模组简介
规格
总结:了解产品能够支持的硬件接口
软件系统架构
软件系统架构图分为三层设计,从上至下分别为OC-1层、OC-2层、OC-3层。
OC-1层为运用层,包含面向用户的开发使用的APP层和EXAMPLE示例,示例展示了外设、网络、通信等各个模块的使用示例,供开发者参考;APP则是预留给用户的运用层代码实现的接口,便于用户自行设计相关运用层程序。
OC-2层为lib层,包含预置文件库,开放的第三方库(用户也可以自行移植第三方库),驱动头文件和平台接口,供开发者调用。
OC-3层为OS(Operating system)层,对应模组的操作系统,开发者在上层运用开发时,需要对相应的OS系统有一定的了解。
硬件系统架构图
模组硬件系统主要采用 BaseBand + PMU + RF架构
硬件设计相关说明
ML307A参考设计可查找 《ML307A硬件设计手册》、《ML307A参考设计》
备注:
1.不用的引脚和RESERVED引脚悬空,所有GND引脚连接到地网络上。
2.在模块开机成功前,禁止将BOOT_MODE引脚下拉到低电平。
3.建议MCU与模块间USB通信串联共模电感以滤除EMI干扰,电感尽量靠近模块侧放置。同时预留USB升级测试点,且分支走线尽量短,两个电阻均靠近模块的USB接口,以保证USB通路的信号完整性。
4.VBAT输入电压范围为3.4-4.5V
5.ADC检测的输入电压范围为0-1.2
系统资源简介
ML307A引脚资源复用
在使用之前需要先确认引脚的功能,需要特别注意两个不同引脚不能同时复用为同一功能,建议在开发之前就先确定好引脚的功能,每个引脚只能复用为一种功能,不要在使用过程中随意更改引脚的复用功能。
例:GPIO口配置
详见引脚资源及复用功能表
引脚名 | 引脚号 | OpenCPU复用功能1 | OpenCPU复用功能2 | OpenCPU复用功能3 | 备注 |
GND | 1 | GND | - | - | - |
RSV | 2 | - | - | - | - |
ANT_GNSS | 2 | - | - | - | - |
MIC_P | 3 | MIC_P | - | - | 无需IOMUX配置 |
MIC_N | 4 | MIC_N | - | - | 无需IOMUX配置 |
SPK_P | 5 | SPK_P | - | - | 无需IOMUX配置 |
SPK_N | 6 | SPK_N | - | - | 无需IOMUX配置 |
PWR_ON/OFF | 7 | PWR_ON/OFF | - | - | 无需IOMUX配置 |
VCC_CAMA | 8 | VCC_CAMA | - | - | 无需IOMUX配置 |
ADC0 | 9 | ADC0 | - | - | 无需IOMUX配置 |
GND | 10 | GND | - | - | 无需IOMUX配置 |
SIM0_DATA | 11 | SIM0_DATA | - | - | 无需IOMUX配置 |
SIM0_RST | 12 | SIM0_RST | - | - | 无需IOMUX配置 |
SIM0_CLK | 13 | SIM0_CLK | - | - | 无需IOMUX配置 |
SIM0_VCC | 14 | SIM0_VCC | - | - | 无需IOMUX配置 |
RESET | 15 | RESET | - | - | 无需IOMUX配置 |
GPIO0 | 16 | GPIO0 | - | - | - |
UART0_RXD | 17 | UART0_RXD | MMCO_DATA3 | - | - |
UART0_TXD | 18 | UART0_TXD | MMCO_DATA2 | - | - |
UART0_DTR | 19 | UART0_DTR | MMCO_CLK | - | - |
UART0_RI | 20 | UART0_RI | MMCO_CMD | - | - |
UART0_DCD | 21 | UART0_DCD | PWM2 | - | - |
UART0_CTS | 22 | UART0_CTS | MMCO_DATA0 | - | - |
UART0_RTS | 23 | UART0_RTS | MMCO_DATA1 | - | - |
VDD_EXT | 24 | VDD_EXT | - | - | 无需IOMUX配置 |
GPIO1 | 25 | GPIO1 | - | - | - |
RSV | 26 | RSV | - | - | - |
GND | 27 | GND | - | - | - |
UART1_RXD | 28 | UART1_RXD | KEYIN3 | GPIO22 | - |
UART1_TXD | 29 | UART1_TXD | KEYOUT3 | GPIO23 | - |
PCM_CLK | 30 | PCM_CLK | SPI1_CLK | - | - |
PCM_SYNC | 31 | PCM_SYNC | SPI1_CS | - | - |
PCM_IN | 32 | PCM_IN | SPI1_MISO | - | - |
PCM_OUT | 33 | PCM_OUT | SPI1_MOSI | - | - |
GND | 34 | GND | - | - | - |
ANT_MAIN | 35 | ANT_MAIN | - | - | - |
GND | 36 | GND | - | - | - |
GND | 37 | GND | - | - | - |
DBG_RXD | 38 | DBG_RXD | - | - | 无需IOMUX配置 |
DBG_TXD | 39 | DBG_TXD | - | - | 无需IOMUX配置 |
GND | 40 | GND | - | - | - |
GND | 41 | GND | - | - | - |
VBAT | 42 | VBAT | - | - | - |
VBAT | 43 | VBAT | - | - | - |
RSV | 44 | RSV | - | - | - |
GND | 45 | GND | - | - | - |
GND | 46 | GND | - | - | - |
GND | 47 | GND | - | - | - |
GND | 48 | GND | - | - | - |
LCD_RST | 49 | LCD_RST | GPIO2 | - | IOMUX只能配置复用功能 |
LCD_RST | 49 | LCD_RST | GPIO2 | - | IOMUX只能配置复用功能 |
LCD_SIO | 50 | LCD_SIO | GPIO3 | UART2_TXD | - |
LCD_SDC | 51 | LCD_SDC | GPIO4 | UART2_RXD | - |
LCD_CS | 52 | LCD_CS | IIC1_SDA | - | - |
LCD_CLK | 53 | LCD_CLK | IIC1_SCL | - | - |
CAM_REFCLK | 54 | CAM_REFCLK | GPIO5 | - | - |
CAM_SIO | 55 | CAM_SIO | GPIO6 | - | - |
CAM_SI1 | 56 | CAM_SI1 | GPIO7 | - | - |
IIC_CAM_SCL | 57 | IIC_CAM_SCL | GPIO8 | - | - |
IIC_CAM_SDA | 58 | IIC_CAM_SDA | GPIO9 | - | - |
USB_DP | 59 | USB_DP | - | - | 无需IOMUX配置 |
USB_DM | 60 | USB_DM | - | - | 无需IOMUX配置 |
USB_VBUS | 61 | USB_VBUS | - | - | 无需IOMUX配置 |
SIM1_CLK | 62 | SIM1_CLK | - | - | 无需IOMUX配置 |
SIM1_RST | 63 | SIM1_RST | - | - | 无需IOMUX配置 |
SIM1_DATA | 64 | SIM1_DATA | - | - | 无需IOMUX配置 |
SIM1_VCC | 65 | SIM1_VCC | - | - | 无需IOMUX配置 |
IIC0_SDA | 66 | IIC0_SDA | - | - | - |
IIC0_SCL | 67 | IIC0_SCL | - | - | - |
SPI0_CLK | 68 | SPI0_CLK | GPIO10 | - | - |
SPI0_CS | 69 | SPI0_CS | GPIO11 | - | - |
GND | 70 | GND | - | - | - |
GND | 71 | GND | - | - | - |
GND | 72 | GND | - | - | - |
GND | 73 | GND | - | - | - |
PWM0 | 74 | PWM0 | IIC2_SDA | KEYOUT4 | - |
PWM1 | 75 | PWM1 | IIC2_SCL | KEYIN4 | - |
KEYOUT0 | 76 | KEYOUT0 | GPIO12 | - | - |
KEYIN0 | 77 | KEYIN0 | GPIO13 | - | - |
LCD_FMARK | 78 | LCD_FMARK | GPIO14 | - | - |
SIM0_DET | 79 | SIM0_DET | - | - | 无需IOMUX配置 |
CAM_SCK | 80 | CAM_SCK | GPIO15 | - | - |
CAM_PWDN | 81 | CAM_PWDN | GPIO16 | - | IOMUX只能配置复用功能2,CAM_PWDN需用GPIO16模拟此功能。 |
BOOT_MODE | 82 | BOOT_MODE/KEYOUT1 | - | - | 无需IOMUX配置 |
KEYIN1 | 83 | KEYIN1 | GPIO17 | - | - |
SPI0_MISO | 84 | SPI0_MISO | GPIO18 | - | - |
SPI0_MOSI | 85 | SPI0_MOSI | GPIO19 | - | - |
KEYOUT2 | 86 | KEYOUT2 | GPIO20 | - | - |
KEYIN2 | 87 | KEYIN2 | GPIO21 | - | - |
GND | 88 | GND | - | - | - |
GND | 89 | GND | - | - | - |
GND | 90 | GND | - | - | - |
GND | 91 | GND | - | - | - |
GND | 92 | GND | - | - | - |
GND | 93 | GND | - | - | - |
GND | 94 | GND | - | - | - |
307A外设资源
类型 | 最大组数 | 说明 |
UART | 4 | 存在引脚复用,包含log专用的uart口。 |
IIC | 3 | 主模式 |
GPIO | 24 | 与引脚名一致,存在复用的情况。 |
KEYPAD | 5 × 5 | 5 × 5的键盘,存在复用情况。 |
PWM | 3 | 存在复用情况 |
SPI | 2 | 主模式 |