Gabriel.Tian
高级BSP工程师
熟悉Linux FreeRTOS嵌入式操作系统,具有高通 MTK 紫光展锐等多款平台开发经验
展开
-
展讯8910DM:关于GPIO的控制问题
展讯8910DM平台GPIO的使用注意事项原创 2021-03-06 14:16:45 · 1578 阅读 · 5 评论 -
展讯8910DM:HD8028 GPS驱动调试
华大北斗高精度GPS 8028原创 2021-02-25 17:32:03 · 2046 阅读 · 0 评论 -
展讯8910DM:UART口默认开启硬件流控制
将drv_uart.h中的drvUartCfg_t结构体的以下两个成员变量的值设置为1即可 bool cts_enable; ///< enable cts or not bool rts_enable; ///< enable rts or not原创 2020-11-16 16:15:51 · 751 阅读 · 0 评论 -
展讯8910DM:挂载16M外部Flash用于AppImage (型号:GD25LQ128C)
正文:外挂16MBflash的驱动调试(GD25LQ128C)附录:增加展讯未认证的flash驱动移植方法原创 2020-11-13 11:57:14 · 1289 阅读 · 0 评论 -
展讯8910DM:LED驱动调试,支持一线脉冲调节
LED采用艾为电子的AW36404DNR,模组原理图如下:AW36404是一款低压降电流吸收器LED驱动器,支持闪光灯和手电筒模式。集成在芯片中的电流调节接收器使LED电流在输入时能够保持恒定电压,LED正向电压或温度正在变化。 LED电流可在64级之间调节,通过向EN引脚发送1线脉冲,最大值为400mA。EN引脚上的电压电平决定了芯片的工作状态。当EN引脚设置为高电平时,AW36404在正常状态下运行。如果EN引脚设置为低电平,则芯片将进入关闭模式。AW36404采用1线脉冲调光以避免开关噪声。原创 2020-12-17 19:52:50 · 1603 阅读 · 0 评论 -
展讯8910DM:Camera Gc030a驱动调试
通过Camera的DataSheet文档可以看到,读取ID需要对PWDN,MCLK,SBCL及SBDA进行上电及使能配置首先在pinmux_8910.json中对I2C_M1_SDA和I2C_M1_SCL进行配置,将I2C1的这两项的fun和pad进行对应。然后,通过如下所示的Camera上电时序,在获取及检查CameraId的函数中,对setPdn,powerOn,setMClk的执行顺序进行调整。注意:不能在MCLK未上电的时候读sensorID,否则I2C会出现类似如下所示的错误:DRV原创 2020-10-24 15:39:18 · 2315 阅读 · 0 评论 -
展讯8910DM:如果VBus和VBat接在一起,导致模组某些功能出现异常的问题分析
Bug:在idh.code/components/driver/Kconfig以及drv_charger.c中对开关机电压进行配置后,外接电源调节电压对模组进行开关机测试,通过coolwatcher抓取log分析,关机流程并未全部走完,也就是说没有彻底关机;再次调高电压至开机电压,模组未能正常启动,电流为0MA,而此时模组中的某些引脚还是有电压的。原因分析:调电压至指定值以下使其关机,这个时候走的是软件关机流程,但是开关机键和Vcharger都是在位的,这个时候软件会判断他们的状态。由于VBus和V原创 2020-10-17 17:11:35 · 1865 阅读 · 0 评论 -
展讯8910DM:AT指令开发
/idh.code/components/atr/Kconfig中新增如下语句:config NEW_CUSTOM bool "Support new customer command" default y help When defined, new custom command will be used./idh.code/components/atr/include/atr.config.in中新增如下语句:/*** whether to su.原创 2020-12-17 19:52:22 · 1650 阅读 · 0 评论 -
展讯8910DM:新建编译脚本
新建 idh.code/components/chip/Kconfig_模组名新建 idh.code/components/hal/config/8910/keypad_map_8910_模组名.csv新建 idh.code/components/hal/config/8910/pinmux_8910_v2_模组名.jsonidh.code/components/hal/include/hal_config.h.in文件中,添加宏控,例如:#cmakedefine CONFIG_BOARD_MOD.原创 2020-10-14 18:05:43 · 1073 阅读 · 1 评论 -
开发时常用的Git常用指令
Bug复现拉取代码并切换分支同步代码git branch //查看当前所处分支git branch -a //查看本地分支以及远端分支git checkout -b 本地分支 origin/远端分支 //关联本地分支和远端分支git pull && git reset FETCH_HEAD //当前分支与远端同步git checkout 本地分支 //切换到本地分支git branch -D 本地分支 //删除本地分支git branch -vv //查看本地分支和远端分原创 2020-10-13 15:17:02 · 136 阅读 · 0 评论 -
驱动开发所用到的基本通信协议(整合SPI,MIPI,I2C)
驱动开发 Cat.1通信模组驱动开发 RTOS驱动开发 Linux驱动开发原创 2020-10-12 10:28:28 · 4379 阅读 · 1 评论 -
展讯8910DM:使用NVEditor导出/合入NV配置
前提:使用USB将模组连接至电脑并正确出现端口打开NVEditor,File->Open Project,填入路径例如:sprd_8910_MODULE_V1\idh.code\prebuilts\modem\8910\cat1_UIS8915DM_BB_RF_SS_NoVolte_cus\nvitem选择nvitem_modem.prj,如果打开正确,应如下图:在 NVEditor中,File->Port SettingsPort:选择Port1Baudrate:一般是11原创 2020-09-21 11:35:22 · 3202 阅读 · 0 评论 -
展讯8541E:NFC PM1810驱动调试
非接芯片PM1810介绍PM1810管脚排列图:PM1810部分接线图:PM1810发射、接收电路:原创 2020-09-18 17:05:28 · 3235 阅读 · 0 评论 -
展讯8910DM:Camera GC0310驱动调试
要点:优先保证上电成功确定平台上电原理,我们原理是GPIO控制camera AVDD和VDDIO。通过查看开发板的EVB,ZB,MB原理图,确认camera的SIO,RST,CLK所对应的GPIO口,代码中使能这些GPIO;再找到与这些pin脚相连接的电阻或电容,使用万用表测量这些电阻及电容的电压,查看是否上电。确保接口配置正确在代码中的关键部分,比如初始化,id获取,上电,Pwn等地方添加测试语句。使用coolwatcher等测试工具,添加Trace tool并拉取trace,查看其中打印输出的原创 2020-11-24 11:21:35 · 2931 阅读 · 10 评论 -
UIS8910DM平台的编译系统
这里所说的编译系统是一种笼统的说法,大体上包含构建系统和编译工具集合。编译工具集合就是大家熟悉的编译器、汇编器、连接器等,该平台使用的是GCC,具体路径位于prebuilt/win32/gcc-arm-none-eabi,这里就不多说了。下面我们主要讲讲该平台的构建系统(build system)。 讲到构建系统,大家比较熟悉就是makefile了,它通过Makefile语言编写的脚本,组织代码、资源,调用编译工具集合及其它工具,共同完成最终目标的实现。这个最终目标可以是库文件、可执行的应用软件、不同格转载 2020-07-06 17:27:46 · 4314 阅读 · 0 评论 -
展讯8810中LCD 在uboot和Kernel中的基本流程
LCD显示的基本原理通过framebuffer,应用程序用mmap把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来。驱动程序分配系统内存作为显存;实现file_operations结构中的接口,为应用程序服务;实现fb_ops结构中的接口,控制和操作LCD控制器;驱动程序将显存的起始地址和长度传给LCD控制器的寄存器,LCD控制器会自动的将显存中的数据显示在LCD屏上。LCD的接口类型大致有:SPI/I2C/MCU/CPU/RGB/MDDI/MIPI,SPI/I转载 2020-07-03 20:25:15 · 894 阅读 · 0 评论