MT7688:修订间差异
跳转到导航
跳转到搜索
第29行: | 第29行: | ||
=== 说明 === | === 说明 === | ||
这是使用openwrt开发MT7688的例子,搭建一个框架以快速开发。 | 这是使用openwrt开发MT7688的例子,搭建一个框架以快速开发。 | ||
== 启动介质 == | |||
MT7688一般从SPI Nor Flash启动,Flash布局有多种,但一般采用公版布局。 | |||
注意:布局不同的Flash不可通用,如果混用可能导致factory分区不正确,进而导致mac地址或者WIFI校准信息异常。 | |||
=== 公版布局 === | |||
{| class="wikitable" | |||
!起始地址 | |||
!大小 | |||
!说明 | |||
!备注 | |||
|- | |||
|0x0 | |||
|0x30000(192KBytes) | |||
|u-boot | |||
|bootloader程序,不一定是主线[[U-Boot|u-boot ,]]可能是其它引导加载器,如[https://breed.hackpascal.net/ breed]或其它模组厂家u-boot。 | |||
|- | |||
|0x30000 | |||
|0x10000(64KBytes) | |||
|u-boot-env | |||
|若是u-boot此分区应当作为环境变量,若不是u-boot,则根据具体应用可与u-boot分区合并。 | |||
|- | |||
|0x40000 | |||
|0x10000(64KBytes) | |||
|factory | |||
| | |||
|- | |||
|0x50000 | |||
| - | |||
|firmware | |||
|大小到Flash结尾。固件程序,这是openwrt程序所在。 | |||
|} | |||
== 官方 == | == 官方 == | ||
网址:https://www.mediatek.com/ | 网址:https://www.mediatek.com/ |
2023年8月11日 (五) 06:45的版本
说明
MT7688可指MT7688芯片,也可指基于MT7688芯片的模块(一般要求至少具有128M内存,16M闪存的模块)。
MT7688模块采用openwrt开发,直接编写应用程序即可。
同嵌入式Linux的用户程序开发相同,可采用脚本也可采用其它编程语言(如C/C++)。
个人使用场景
- 作为网关。外设有:RN8302B模块(SPI接口)、LED(GPIO接口)、1.44寸OLED屏幕(I2C接口)、继电器(GPIO接口)。
所有的接口都通过Linux用户程序(非内核模块)操作,对于openwrt 21.02,接口说明如下:
接口 | 说明 | 备注 |
---|---|---|
SPI | 字符设备:/dev/spidev0.1 | 注意:spidev0.0为Flash接口,因此SPI的模式必须与Flash(SPI Mode 0)相同(内核驱动限制),若不同,需要外加逻辑电路进行转换。 |
I2C总线 | 字符设备:/dev/i2c-0 | 这是总线设备,可外挂多个I2C从设备。 |
GPIO | sysfs文件系统目录:/sys/class/gpio |
MT7688Demo源代码
主要
https://github.com/HEYAHONG/MT7688Demo
备用
https://gitee.com/HEYAHONG/MT7688Demo
说明
这是使用openwrt开发MT7688的例子,搭建一个框架以快速开发。
启动介质
MT7688一般从SPI Nor Flash启动,Flash布局有多种,但一般采用公版布局。
注意:布局不同的Flash不可通用,如果混用可能导致factory分区不正确,进而导致mac地址或者WIFI校准信息异常。
公版布局
起始地址 | 大小 | 说明 | 备注 |
---|---|---|---|
0x0 | 0x30000(192KBytes) | u-boot | bootloader程序,不一定是主线u-boot ,可能是其它引导加载器,如breed或其它模组厂家u-boot。 |
0x30000 | 0x10000(64KBytes) | u-boot-env | 若是u-boot此分区应当作为环境变量,若不是u-boot,则根据具体应用可与u-boot分区合并。 |
0x40000 | 0x10000(64KBytes) | factory | |
0x50000 | - | firmware | 大小到Flash结尾。固件程序,这是openwrt程序所在。 |