随笔分类 - 技术-Embedded
摘要:Why Copied Yocto Cross Toolchain Not WorkTable of Contents1. problem description2. analysis2.1. install source check2.2. cross tool header check3. sol...
阅读全文
摘要:The Importance of Sync in EmbeddedTable of Contents1. My experience2. Solution3. Sync Info1 My experienceWhen I modify /etc/init.d/rcS in development ...
阅读全文
摘要:1、得出的结论:ICD3仿真器坏2、测试环境1)IDE为: MPLAB X IDE v3.052)编译器工具链为:XC16(v1.21)3)MCU为:PIC24F08KA1013、测试方法1)确认ICD3的线序2)确认单片机端原理图上仿真器引脚3)接线方法将仿真器端出来的接头,通过插针引一下,直接焊...
阅读全文
摘要:蓝色线对应 PIN1 定义为VPP (编程电压)黄色线对应 PIN2 定义为VDD (电源正极)绿色线对应 PIN3 定义为VSS (电源负极)红色线对应 PIN4 定义为PGD (编程数据)黑色线对应 PIN5 定义为PGC (编程时钟)白色线对应 PIN6 定义为LVP (低编程电压)
阅读全文
摘要:使用 mplab x 3.5 验证SM4 的时间成本时遇到:build/default/production/_ext/1472/sm4.o:LinkError:Couldnotallocatesection.text,size=2260PCunits,attributes=codeLinkErro...
阅读全文
摘要:1、现象描述1)使用 imx6 的开发板,加载9脚的 8G SanDisk SD 卡后,对SD卡读写文件都正常2)将该9脚 SD卡插入到 新焊接的 SD 卡座后,只读不能写。2、只读的原因SD卡座上的 W/P 脚 虚焊(相当于一直悬空)。重新焊接 W/P 后问题解决。3、原因分析正常情况下,如果SD...
阅读全文
摘要:背景信息1、在分析之前串口程序A已经准备好了,且该串口程序A在1月前测试硬件PSAM环境B下, 可以正确接收到环境B下的PSAM复位信息。2、今天同样使用串口程序A在新PSAM硬件环境C下,不能接收到正确的PSAM复位信息。3、PSAM卡的复位波特率都为 9600正确的复位信息为:3b 7f 96 ...
阅读全文
摘要:在之前一篇 blog 中提到的一个关于 spi5 片选的困惑:http://www.cnblogs.com/aqing1987/p/4493723.html现在有了解决方案:关键处在于 board-mx6q_sabresd.h 中关于 spi5 CS管脚 模式的配置1)将 SS0 配置成 IO模式时...
阅读全文
摘要:如上图, 移位寄存器(shift register)及 接收FIFO (RXDATA)对程序来说是透明的。唯一可访问的 Receive Data Register (ECSPIx_RXDATA) 只能访问 接收FIFO的 top 字。如下:当把 spi2 配置成为 slave 模式时,外部的主spi...
阅读全文
摘要:在使用 imx6q spi5 (spi5是我添加的)的过程中遇到了这样一个问题:1)上层app 通过 write() 向spi5发送3个字节的数据,使用示波器抓其片选信号,如下图示:2)相同的驱动程序,上层app通过 write() 向spi2发送3个字节的数据,使用示波器抓其片选信号,则每发送完一...
阅读全文
摘要:阅读手册知,imx6 的 spi 时钟是针对某一个 spi 通道进行配置的。imx6下共有5个 spi通道,spi1 ~ spi5以下为手册相关内容说明:CCGR1 寄存器相关内容
阅读全文
摘要:imx6q 下为 c20 写gpio的驱动,在上层调用 open() 函数时总是报错,返回 -1 。之后分析 gpio_request 函数,并查找 IMX_GPIO_NR(1, 17) 在board-mx6q_sabresd.c 中的定义,发现有两处定义了, (1, 17) 并且在 mx6_sab...
阅读全文
摘要:第一步:在board-mx6q_sabresd.h 中添加spi5 的引脚定义具体在 mx6q_sabresd_pads[] 数组中添加,如下示:(以下定义是根据硬件工程师要采用哪个引脚画板决定的,以下的宏都是在bsp 中支持的)/* ECSPI5 added by Rex 2015.4.21 */...
阅读全文
摘要:1、采用 slave 模式2、SS_CTL 配置为0imx6 中关于该位的配置说明如下:其中:In slave mode - an SPI burst is completed when the number of bits received in the shift register isequa...
阅读全文
摘要:1、使用串口0 作spi slave错误设置如下:U0CSR &= ~(U0CSR_MODE) | U0CSR_SLAVE;正确设置如下:U0CSR = (U0CSR & ~U0CSR_MODE) | U0CSR_SLAVE;其中宏的定义在 ioCCxx10_bitdef.h 中,如下示:// U0...
阅读全文
摘要:linux设备驱动调试,我们在内核中看到内核使用dev_dbg来控制输出信息,这个函数的实质是调用printk(KERN_DEBUG )来输出打印信息。要打开这个开关需要下面两步。1)打开调试开关:你调试的文件中必然包含了,或者,后者包含了前者,在包含此头文件之前,使用#define DEBUG 1...
阅读全文
摘要:原因:在函数中非变量定义的语句后又定义了一个变量。如下示:int a;a = 5;int b;解决办法:将变量定义移到非变量定义之前。如下:int a;int b;a = 5;
阅读全文
摘要:在linux 中,内核打印语句 printk() 会将内核信息输出到内核信息缓冲区中。内核信息缓冲区是一个环形缓冲区(ring buffer),因此,如果插入的信息过多,就会将之前的信息冲刷掉。printk() 定义了8个消息级别,分为级别0 ~ 7,级别越低(数值越大)的消息越不重要,第0级是紧急...
阅读全文
摘要:Sparse工具检测使用的属性定义__CHECKER__ 宏在通过Sparse(Semantic Parser for C)工具对内核代码进行检查时会使用。在使用make C=1或C=2时便会调用该工具,这个工具可以检查在代码中声明了sparse所能检查到的相关属性的内核函数和变量。如下示:#ifd...
阅读全文
摘要:1、相关信息1)嵌入式开发时用到了 boa 服务器,主要是对cgi 部分的需求。2)boa 服务器已经架设好,主目录为 /var/www,cgi目录为 /var/www/cgi-bin/3)boa 服务已经开启2、问题描述1)将 test.html 放在 /var/www 下,代码内容如下:2)通过...
阅读全文