嵌入式
文章平均质量分 83
茶亦爽
自动驾驶的路上
展开
-
union判断处理器的大、小端
一般在Windows API的一些数据结构中才能看到这个union,其实并不复杂。本质上来说和结构体是一样的,但是从包装的角度来看有差异。1、union中可以定义多个成员,union的大小由最大的成员的大小决定。 2、union成员共享同一块大小的内存(各成员的起始地址相同),一次只能使用其中的一个成员,也就是说,每一个瞬间只有一个成员起作用,而其作用的成员是最后一次存放的成员。转载 2013-09-11 16:18:46 · 1029 阅读 · 0 评论 -
STM32F4 TIM1 7路PWM信号输出
【实验目的】输出7路占空比不同的PWM信号是各个版本ST库必备的例子。本实验的主要目的不是表现ST芯片PWM功能的强大,而是要完成输出的精确计算。【实验内容】输出7路PWM信号,并用示波器测量输出。【实验原理】1、时基单元初始化TIM1和TIM8使用内部时钟时,时钟由APB2提供。但是定时器的时钟并不是直接由APB2提供,而是来自于输入为APB2的一转载 2014-04-19 10:34:00 · 13587 阅读 · 2 评论 -
调试STM32F4 VCP遇到的问题
板子已经做好了,功能就是:利用传感器和GPS精确定位。该板子用到了调试STM32F4 VCP,也就是USB转串口。在移植ST官方程序出现的问题,以及解决方法,罗列如下:1.因为用的下载接口是5针的SWD,下载器是st-link v2 ST-LINK/V2。首先要搞清楚SWD接口与st-link v2的接法。这里关键注意的是SWD的VCC引脚接到st-link v2的第一脚上面。如果不这原创 2014-04-04 11:16:36 · 10259 阅读 · 0 评论 -
基于Yocto项目UART驱动开发
官方的i.MX 6UltraLite EVK Board 的镜像中串口只打开了UART1和UART2,那么如何打开其他的串口,步骤记录如下:查找内核 查找Yocto项目下内核存放路径,点击参考命令链接 。因为我不知道内核名称任何信息(因为我是初次使用Yocto开发项目,对其完全不了解,一头雾水),我使用bitbake -s | grep linux ,如图1: 初步了解知道linux原创 2016-11-26 14:30:06 · 3845 阅读 · 0 评论 -
stm32生成bin、axf文件
图1 如图1错误记录一下在使用stm32生成bin、axf文件注意的问题。生成bin、axf文件的路径要选择正确,比如工程当前目录使用.\(./ 也没有问题),我的bin文件放在工程目录下级目录Bin中,故使用.\Bin\A1_BOOT_F3.bin;生成bin、axf文件需要设置一些选项,如图2和3 图2 图3 我们是使用fromelf.exe应用程序生成bin、axf文件,无原创 2016-04-02 12:56:27 · 17935 阅读 · 2 评论 -
vim tab输入4个空格
在/etc/vim/vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格: set ts=4 set expandtab 纯属备忘。转载 2015-09-13 22:20:56 · 1112 阅读 · 0 评论 -
ubuntu 14.04LTS apt-get update时出现错误解决
ubuntu 14.04LTS apt-get update出现错误提示如下: W: GPG error: http://ppa.launchpad.net trusty Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY C251824原创 2015-09-11 22:36:10 · 3656 阅读 · 0 评论 -
linux at91看门狗驱动设置
看门狗的驱动一般来说比较简单,只要做寄存器的设置实现开启、关闭、喂狗功能。本项目中我们使用的是at91sam9g45处理器,带有看门狗定时器。这个看门狗的驱动却比较复杂,应用层想用它的话,将涉及到boot引导设置,uboot配置及驱动,改写驱动程序。下面将逐步说明。1、boot引导(bootstrap-v1.14)由于该看门狗的MR寄存器只能写一次(Only a processor转载 2015-07-24 22:04:54 · 3003 阅读 · 0 评论 -
安装交叉编译器arm-none-linux-gnueabi-gcc
安装交叉编译器arm-none-linux-gnueabi-gcc 过程1.下载,感谢万能的wgetwget http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linu转载 2015-07-29 13:01:50 · 1213 阅读 · 0 评论 -
lwip1.4.0 http server实现及POST 实现
lwip1.4.0之http server实现及POST 实现 一、HTTP SERVER的实现 lwip默认的http server 在 apps/httpserver_raw 主要核心文件为 fs.c fs.h(读取相关html相关资源), httpd.c httpd.h httpd_structs.h 为http协议核心文件 首先在LWIP协议栈正常运行后 需要在main转载 2014-05-16 16:16:36 · 20913 阅读 · 35 评论 -
STM32F4串口IAP固件更新
STM32F4串口IAP固件更新操作过程:修改ST官方IAP程序,使之能在自己的开发板跑起来,关键是串口、按键和led。在程序运行前,建议按下按键,程序进入IAP程序。当超级终端上显示选项时,选择1,下载镜像文件到STM32F4xx 内部flash中。一定要使用超级终端,而不是SecureCRT。选择传送--发送文件--浏览,选择要发送的.bin文件,并且协议选择Ymodem。最后,发原创 2014-03-27 20:17:12 · 9561 阅读 · 0 评论 -
ISP与IAP的区别
ISP与IAP的区别 两者在操作方式,结果和应用场合区别: 什么是ISP(in system programming): 在系统编程。用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统; 什么是IAP(原创 2014-03-27 14:59:44 · 8683 阅读 · 0 评论 -
Makefile中的常用函数
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $()或是 ${}这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗转载 2013-12-28 21:11:34 · 759 阅读 · 0 评论 -
ubuntu 12.10环境arm-linux-gcc-4.3.2.tgz交叉编译
解决在64位ubuntu上搭建arm-linux-gcc交叉编译开发环境出现的问题。环境变量路径已经设置好了。如下: 但是当我运行arm-linux-gcc就会出现问题,在当前目录也是一样会有问题,如下:最后发现,不是设置问题,是系统与老版本的交叉编译器不兼容,缺少安装包,如下:原创 2013-11-14 20:54:29 · 2255 阅读 · 0 评论 -
u-boot.bin的生成问题
熟悉u-boot移植到gq2440,下面有个问题一定要注意:1、解压缩:tar -jxvf /mnt/hgfs/Linux/uboot-2009.08.tar.bz2 -C /home/lj/2、进入解压缩包:cd /home/lj/u-boot-2009.08/3、进入board文件夹,由于gq2440和smdk2410是同一种结构,而且大量的寄存器相同原创 2013-11-03 16:42:18 · 6667 阅读 · 0 评论 -
解决在ubuntu 12.10安装vmware-tools实现文件共享问题
解决在ubuntu 12.10安装vmware-tools出现的“The path "" is not a valid path to linux-headers-3.5.0-17 ”或者“The path "" is not a valid path to linux-headers-3.5.0-17 -generic”问题:在使用终端安装vmware-tools时,不停地回车直原创 2013-11-01 14:05:56 · 15730 阅读 · 0 评论 -
调试 BQ25892 I2C通讯
调试这个芯片,犯了一个软件错误(硬件原理图没有问题)。由于之前使用的eeprom,bmp085,axp209都是使用器件地址作为写地址,器件地址加1后作为读地址,导致使用bq25892后,看了bq5892手册后依然这样操作,导致写设备地址一直无法收到应答信号。困惑了很久,一直认为是自己时序有问题,后来 我与TI工程师交流 才意识到自己对手册的理解有问题。正确的理解是设备地址为0x6Bh,但...原创 2018-05-07 15:50:46 · 2749 阅读 · 0 评论