- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 EmbedFire i.MX 6ull开发板学习笔记(十)---添加adbd支持
EmbedFire i.MX 6ull开发板学习笔记(十)---添加adbd支持为了方便往板子里push文件,进行调试,我给你板子添加了adbd。1、配置buildrootTarget packages ---> System tools ---> android-tools #选中 adbd #选中编译后在/usr/bin便拥有了adbd,再编写一个脚本启动它即可。2、参考RV1126上使用adbd的脚本,在/etc/init.d/下新建脚本文件S5
2022-03-14 15:30:03 1536
原创 EmbedFire i.MX 6ull开发板学习笔记(九)---使用buildroot构建rootfs
EmbedFire i.MX 6ull开发板学习笔记(九)---使用buildroot编译rootfs一级目录二级目录三级目录一级目录二级目录三级目录
2022-03-14 13:32:38 697
原创 EmbedFire i.MX 6ull开发板学习笔记(八)---使用mfgtools烧录固件
EmbedFire i.MX 6ull开发板学习笔记(8)---使用mfgtools烧录固件一、mfgtools使用介绍二、改造mfgtools三、其他问题之前为了调试方便,一直是将uboot烧录进SD卡,从SD卡启动,然后通过局域网下载内核的方式进行的。近期刚好做有关imx6ull的项目,要在上面实现5G上网功能,自己做的板子没有本地网卡,也不支持SD卡,只能将固件下载进eMMC。NXP提供了下载固件的工具mfgtools和uuu.exe,可烧录进eMMC。mfgtools是老板工具,现在官网文档里介绍
2022-03-13 01:08:54 1554 2
原创 EmbedFire i.MX 6ull开发板学习笔记(七)---of函数
EmbedFire i.MX 6ull开发板学习笔记(七)---of函数一、查询节点的of函数二、查找父/子节点的of函数三、获取属性值的of函数Linux定义了大量的函数用于查询,获取设备树的内容,这些函数都是以of开头,所以又称为of函数。定义在include/linux目录下以of开头的头文件,如of.h、of_gpio.h等;以及drivers/of目录下。便于描述设备中的节点,Linux定义了device_node结构体,定义在include/linux/of.h文件里,一些常用的of函数原型
2021-07-20 20:54:05 564
原创 EmbedFire i.MX 6ull开发板学习笔记(六)---驱动模板
Linux驱动可编译为模块,即.ko文件;也可以编译进内核。在make muneconfig配置为m,即是编译为模块,配置为y即编译进内核,每一个驱动几乎都有一个独立的CONFIG配置。如//如CONFIG_LEDS_GPIO=m //则obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o//实质为obj-m += leds-gpio.o//如CONFIG_LEDS_GPIO=y//则为obj-y += leds-gpio.o所以:obj-m表示编
2021-07-19 15:53:15 242
原创 EmbedFire i.MX 6ull开发板学习笔记(五)---设备树
EmbedFire i.MX 6ull开发板学习笔记(五)---设备树一、什么是设备树二、dts,dtsi,dtb和dtc三、基本语法PS:讲解什么是设备树,设备树语法的文章,网上实在是太多了,将得都比我好。我这里仅仅是做点笔记而已。一、什么是设备树为在一块板子上把Linux跑起来,需要对板子上的各种设备进行描述,比如:IIC控制器,SPI控制器,GPIO控制器等,编写相应的驱动代码。各种CPU型号,板子型号太多了,每个板子都要去编写的板级源码,造成Linux越来越“臃肿”,以前这些代码都在arch/
2021-07-15 15:41:45 504
原创 EmbedFire i.MX 6ull开发板学习笔记(四)---kernel编译
EmbedFire i.MX 6ull开发板学习笔记(四)---kernel编译一、环境准备和下载Linux源码二、编译Linux内核三、Linux内核启动测试四、烧录NXP镜像到eMMC五、总结一、环境准备和下载Linux源码参考《EmbedFire i.MX 6ull开发板学习笔记(一)—u-boot编译》安装交叉编译环境,以及相关依赖库。sudo apt-get install gcc-arm-linux-gnueabihfsudo apt-get install lzop下载Linux源
2021-07-11 00:40:50 359
原创 EmbedFire i.MX 6ull开发板学习笔记(三)---u-boot移植(2)
EmbedFire i.MX 6ull开发板学习笔记(三)---u-boot移植(2)接下来该解决网卡问题了。查看embedfire i.mx 6ull开发板的原理,PHY使用了KSZ8081这个颗芯片,并使用了IO扩展芯片74LV595来控制KSZ8081的RST,GPIO1_IO06和GPIO1_IO07控制MDIO和MDC。这些和mx6ull_14x14_evb评估板是一致的。所以采用和mx6ull_14x14_evb一样的配置,理论是能够驱动网卡的。再次确认下mx6ull_embedfire_d
2021-07-08 15:16:02 372
原创 EmbedFire i.MX 6ull开发板学习笔记(二)---u-boot移植(1)
EmbedFire i.MX 6ull开发板学习笔记(二)---u-boot移植我已经成功编译了u-boot,但该u-boot下载到野火开发板里,网卡有问题。下面在NXP官方14x14_evb开发板的基础上完成u-boot移植。一、
2021-07-06 11:02:15 364
原创 EmbedFire i.MX 6ull开发板学习笔记(一)---u-boot编译
EmbedFire i.MX 6ull开发板学习笔记(一)---u-boot编译一、安装交叉编译环境二、下载uboot源码三、编译u-boot一、安装交叉编译环境主机操作系统:Linux Mint 20.1sudo apt-get install gcc-arm-none-eabisudo apt-get install gcc-arm-linux-gnueabihf也可以到linaro官网下载。我编译u-boot选择了gcc-arm-none-eabi,这是因为u-boot是裸机程序;编译li
2021-07-05 17:58:20 411
原创 ML302 OpenCPU系列(9)---百度鹰眼轨迹点上传
ML302 OpenCPU系列(9)---百度鹰眼轨迹点上传处理流程main()线程GNSS处理线程轨迹点上传线程上传示例在《GNSS系列(4)------百度地图显示ML302定位轨迹》这篇文章中讲解了如何使用ML302 AT指令上传百度鹰眼轨迹点,下面将用OpenCPU来实现这个功能。处理流程我们创建了1个消息队列和2个线程:线程1负责每1s获取一次GNSS位置点信息,并发送至消息队列;线程2负责从消息队列读取位置点信息,并通过HTTP接口POST至百度鹰眼。main()线程我们先定义一个结
2021-06-10 11:21:54 598
原创 ML302 OpenCPU系列(8)---锂电池电量计算
ML302 OpenCPU系列(8)---锂电池电量计算一、采集vbat电压值二、定义锂电池特性值三、计算稳定电压四、计算电量 ML302可以直接使用锂电池供电,模组VBAT引脚内部有一个ADC,可以直接采集VBAT的电压值,我们可以根据此电压计算锂电池电量,以百分比的方式显示出来。获取VBAT测得电压值的API:int cm_get_vbat(); 基本思想: 1、通过ADC采集vbat电压; 2、计算稳定电压值; 3、根据锂电池放电特性,使用稳定电压计算电量。一、采
2021-04-21 14:35:39 1400
原创 ML302 OpenCPU系列(7)---AW8733A音频PA调试
ML302 OpenCPU系列(7)---AW8733A音频PA调试 ML302 OpenCPU提供两个模拟音频通道:耳机和喇叭。 两个通道的音量都不大,如果是做支付音响类的产品,这个音量是不够的。需要外部再加一个音频PA,比如AW8733A,它能提供2W的功率输出。 参考AW8733A提供的参考设计画原理图。如采用喇叭通道,参考差分输入方式典型应用图,如下: 如采用耳机通道,因为耳机不是差分信号输出,区分左右声道,参考单端输入方式典型应用图,如下: 注意:由于喇叭通道模组内部已有
2021-04-02 10:11:45 2555
原创 ML302 OpenCPU系列(6)---LIS3DH加速度传感器开发
ML302 OpenCPU系列(6)---LIS3DH加速度传感器开发一、原理图二、待实现功能三、实现步骤四、源码 近期由于项目需要,在ML302 OpenCPU上调试了三轴加速度计LIS3DH,实现震动报警功能。下面来看看实现方法。一、原理图二、待实现功能 1、使用IIC读写LIS3DH数据; 2、发生震动时,LIS3DH产生中断信号INT1,ML302捕捉该中断信号,播放报警语音。三、实现步骤 1、对照原理图,查询LIS3DH Datasheet,获取如下信息: A、CS
2021-03-30 10:17:58 1052
原创 ML302 OpenCPU系列(5)---Log工具的使用
ML302 OpenCPU系列(5)---Log工具的使用一、使用串口助手抓取Log二、使用Coolwatcher抓取AP Log三、查看死机现场 “工欲善其事,必先利其器”。Log是嵌入式开发中最重要的调试手段,我们就来看看如何使用工具抓取ML302 OpenCPU Log。一、使用串口助手抓取Log 编译并下载固件,模组开机后将打印大量的信息,在ML302 OpenCPU Demo中这些信息是使用cm_printf()函数打印的。该函数在cm_uart_demo.c中定义,使用主串口来打印调试
2021-03-28 00:25:20 2023 1
原创 ML302 OpenCPU系列(4)---Demo的使用
ML302 OpenCPU系列(4)---Demo的使用一、主程序结构二、Demo测试命令三、Demo测试 ML302 OpenCPU SDK里提供了大量Demo程序,源码目录:src\demo。在cm_feature.mk文件定义了这些Demo功能的宏开关,可对其进行单独开关控制。接下来对Demo程序以及Demo测试方法做个大概讲解。一、主程序结构 函数void ML302_OpenCPU_Entry(void)是用户程序入口,在cm_main.c定义,该函数运行时操作系统尚未开始调度,不能阻
2021-03-19 14:29:11 1293 1
原创 ML302 OpenCPU系列(3)---Makefile
ML302 OpenCPU系列(3)---Makefile一、编译命令二、修改Makefile三、固件带有编译时间 在《ML302 OpenCPU系列(1)—编译环境搭建和固件下载》中我们使用build.bat DNLM命令编译得到了固件包,接下来对编译命令做个介绍。一、编译命令 编译命令build.bat DNLM中的编译参数DNLM(区分大小写)代表ML302子型号。目前支持的子型号,在脚本build.bat中可以查看得到。各子型号的差异可以查看《ML302系列子型号硬件资源差异表.pdf》,
2021-03-11 17:42:50 702
原创 Camera IIC总线
Camera IIC总线该文章写于2016年,一直未发表。近期工作中又涉及到了Camera相关的内容,重新温习了下相关知识。决定把这篇文章发表出来,大家共同学习。 IIC即Inter-Integrated Circuit:集成电路总线,有时简写为I2C,是飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线。,IIC是一种多向控制总线,多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。IIC协议标准规定同一时刻只可以有一个设备发起通信,称为主设备
2021-03-08 09:17:19 1207
原创 Camera MIPI协议讲解
Camera MIPI协议讲解该文章写于2016年,一直未发表。近期工作中又涉及到了Camera相关的内容,重新温习了下相关知识。决定把这篇文章发表出来,大家共同学习。 MIPI全称Mobile Industry Processor Interface,移动产业处理器接口。是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。MIPI联盟是2003年由ARM、诺基亚、意法半导体和德州仪器发起成立,目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程
2021-03-03 15:54:29 12850 4
原创 Camera DVP协议讲解
Camera DVP协议讲解该文章写于2016年,一直未发表。近期工作中又涉及到了Camera相关的内容,重新温习了下相关知识。决定把这篇文章发表出来,大家共同学习。 DVP(Digital Video Port)摄像头数据并口传输协议,提供8-bit或10-bit并行传输数据线、HSYNC(Horizontal sync)行同步线、VSYNC(Vertical sync)帧同步线和PCLK(Pixel Clock)时钟同步线。8-bit或10-bit是依Pixel的位深而定的,8bit A/D
2021-03-03 15:30:08 8105 5
原创 Camera SPI协议讲解
Cmera SPI协议讲解该文章写于2016年,一直未发表。近期工作中由涉及到了Camera相关的内容,重新温习了下相关知识。决定把这篇文章发表出来,大家共同学习。SPI(Serial Peripheral Interface)串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术,它是一种高速的,全双工,同步的通信总线。SPI的通信原理很简单,它以主从模式(Master-Slave)工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,如下:(1)、SDI–主设备数据输
2021-03-03 14:19:00 7680 11
原创 ML302 OpenCPU系列(2)---源码目录介绍
ML302 OpenCPU系列(2)---源码目录介绍解压SDK:ML302_OpenCPU_TTS_2.2.1.2010091712_release.7z将得到如下文件。SDK 根目录下各文件、文件夹含义如下:目录&文件名称描述docAPI 说明文档目录firmware编译后固件生成的目录inc库&用户头文件目录out编译中间文件目录prebuiltSDK 基础库文件目录src用户源文件目录tools编译环境相关
2021-03-03 10:55:51 656
原创 ML302 OpenCPU系列(1)---编译环境搭建和固件下载
ML302 OpenCPU系列(1)---编译环境搭建和固件下载引言一、常用工具二、编译环境搭建三、编译代码四、下载固件五、开机查看OpenCPU运行情况引言ML302是“OneMO”推出的Cat.1模组,内置FreeRTOS系统,拥有丰富的外围接口,支持OpenCPU二次开发。模组资料可前往[“OneMO”官网](http://www.onemo10086.com/#/home)获取。ML302的OpenCPU SDK普通版本和TTS版本,由于TTS涉及收费问题,使用TTS功能需向“OneMO”申请
2021-03-02 10:50:43 2276
原创 GNSS(5)------高德地图显示ML302定位轨迹
由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN。原文链接:http://onemo10086.com/#/school/article/293上一期我们讲解了百度鹰眼轨迹服务,这期该来说说高德的猎鹰轨迹服务了。有关高德猎鹰Web API介绍请参考:https://lbs.amap.com/api/track/summary/一 准备工作1、进入高德开放平台官网:https://lbs.amap.com/,点击注册高德账号。2、进...
2020-12-04 16:56:52 1494
原创 GNSS系列(4)------百度地图显示ML302定位轨迹
由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN。原文链接:http://onemo10086.com/#/school/article/241 各位小伙伴们:大家好,上一期我们介绍了GNSS定位的原理以及产生漂移的原因,知道了在实际定位中,GNSS漂移是不可避免的,这期我们就来讲解如何纠正漂移。 终端获取的位置信息最终都是要靠地图显示出来的,而谈到地图服务就离不开高德和百度。那地图软件如果能对终端上传的位置信息自动进行纠偏的话,我...
2020-12-03 11:26:19 1389 2
原创 GNSS系列(3)------GNSS定位漂移讨论
由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN。原文链接:http://onemo10086.com/#/school/article/196 小伙伴们,大家好,我们继续讨论GNSS相关的知识,上期我们讨论如何在地图上显示出正确的GNSS位置,但总有小伙伴反馈定位的位置不准确,存在漂移。这期我们就来重点讨论讨论GNSS漂移是如何产生。一、GNSS定位原理 在讨论GNSS漂移之前,先大致讲讲GNSS定位的基本原理。...
2020-12-03 10:56:24 2368 2
原创 GNSS系列(2)------OneMO模组LBS定位使用方法全攻略
由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN。原文链接:http://onemo10086.com/#/school/article/166各位小伙伴,大家好,之前介绍过LBS定位和GNSS定位的区别,本期来重点介绍一下中移物联网OneMO品牌模组的LBS功能该如何使用。为方便大家使用,OneMO模组已内置高德LBS服务,仅需注册成为高德企业用户,申请LBSKEY,即可使用模组内置的LBS服务了。目前支持高德LBS服务功能的模组型号有:M6312、
2020-12-03 10:27:36 1330 5
原创 GNSS系列(1)------GNSS坐标系转换
由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN。原文链接:http://onemo10086.com/#/school/article/165“GNSS定位不准确,漂移了好几公里,是怎么回事呢?”相信有不少用户在使用GNSS时碰见过这样的问题。这主要是由于GNSS坐标转换错误造成的,下面我就来讲讲获取到GNSS数据后如何通过转换坐标,得到正确的定位。一、常见坐标系介绍 WGS-84:大地坐标系,也是目前广泛使用的GPS采用的坐标系,在中国,任何
2020-12-03 10:17:43 5918 1
原创 如何在Visual Studio 2008中使用OpenCV
原百度空间文章,由于百度空间关闭,移入CSDN。---------------------------------------------------------------------------------------------------------------------------------------由于毕业设计,接触到了OpenCV。下面讲讲OpenCV在visual studio 2008 中如何配置使用:OpenCV(open source computer ...
2020-12-03 09:52:49 349
原创 佛经小故事--《盲龟浮木》
原百度空间文章,由于百度空间关闭,将其移入CSDN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------在佛经中有着这样一个故事: 在辽阔的大海中,生活着许多生物。...
2020-12-03 09:48:58 3582 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人