tera term串口文本匹配打印时间脚本 使用tera term查看串口消息时,想知道收到特定消息的具体时间,却发现没有现成的脚本可以使用。自己动手写了一个,独乐乐不如众乐乐。复制这段代码保存到ttl后缀文件即可。WhatString = 'hi'while 1 wait WhatString getdate datestr gettime timestr dispstr ' [' datestr ' ' timestr '] 'endwhile...
NXP JN5169 UART波特率问题 被NXP JN5169的UART收数据大批量错误坑了一把,最后发现是NXP的速率计算因子误差太大导致。写了个程序,把所有常见的波特率匹配了一把,匹配的结果(相对误差在千分之七以下)即波特率的计算因子建议值如下:ratio=0.007000Divisor=414 Cpb=15 rate=2415 target=2400 error=1.006250Divisor=415 Cpb=15 rate=2409 target=2400 error=1.003750Divisor=416 Cpb=1
NXP ZigBee JN5169开发流程总结 经过一个多月的摸索,现总结JN516x的开发流程如下:安装IDE和SDK。 源代码的编写:这里又包括图形界面的配置,和源文件中的纯代码的编写 编译:可能要动手自己修改Makefile。 烧写:又分为UART模式烧写和JTAG模式烧写。 运行看功能,可能需要抓包。接着简单展开描述一下:安装IDE和SDK的资料网上有很多,我也是参考其他大佬的说明。其他几步好像写的人很少,我就重点补充下后面几点。编写代码涉及两块内容,NXP将很多底层的配置抽象成了图形界面,只要拖拖拽拽,在后面的编译中就
NXP ZigBee JN5169 DimmerLight编译过程梳理 开发环境BeyondStudio终于全部搭建完毕,但是看着IDE感觉无从下手。因此梳理了下编译流程,通过学习编译过程中各个关键流程来反向摸索开发流程需要修改到哪些文件。先上整理后的结果:JENNIC_MAC is Mini MAC shimBuilding trace version ...第0步:清理工作rm -f 删除.o.d.map中间文件rm -f 删除os_gen.c、os_gen.h、os_irq*.S、pdum_gen.*和zps_gen*.*第一步:OSCONFI.
NXP BootLoader对应软件简单说明及blhost命令说明 接触到Kinetis系列芯片,想使用下内置的BootLoader功能,发现官方有现成pc端控制软件blhost,所以尝试着跑着运行下。但是这个软件只针对特定系列的chip,我分析原因是,这个pc应用程序只能通过发送98 66 98来识别有反应的芯片,没反应的就不支持。另外发现有一个KinetisFlashTool兼容性好一点,可以发送98 66 98和5A A6来尝试连接BootLoader。总结如下:blhost:缺点:命令行使用,只支持对98 66 98有反馈的芯片优点:开放,.
开发U3V时遇到bus hound报babble detect错误 先上个bus hound的截图。项目内容是开发一款符合u3v协议的工业相机。按照协议,我应该发送一帧3424256byte长度的包,然后发送一帧1024byte的第二帧。从bus hound上看,看起来是没问题的,4号endpoint先传了3424256字节,然后是1024字节。但是,这个1024字节的下面总是提示babble detected!字面意思是:检测到胡言乱语,...
sizeof 利用预编译查看数据结构占用内存空间 偶然看到很久以前的一个代码片段,分享出来。代码功能:展示各种数据结构占用的内存空间大小要点1:sizeof是编译时转换为数字的,运行时已经相当于常量要点2:宏变量转换字符串#include <stdio.h>#include <stdlib.h>#define SPACE(T) printf("%20s:%5d B ",#T,sizeof(T...
代码修改&工程编译:perl、ruby、yaml 最近几天开始为R公司的MCU写SPI控制器驱动了。其实这个代码应该是随厂的,可惜问了一圈都没人知道,只好自己动手先写了。中断配好了,GPIO也配好了,寄存器定义好了,还花时间对了下原理图。明天开始写接口。修改代码时瞄了一眼编译脚本,用到了perl、ruby、yaml,额每一个关键词又是一大坨知识。回头继续看吧。还遇到个问题是想在Makefile中为echo添加颜色的,试了记下这个-e始
文件MD5 & 希捷引导开发组写的README 偶然看到希捷写的readme,感觉写得不错,特分享之。尤其是中间有段MD5的使用方法,可以借鉴来,以后自己发布也能这么玩:)分割线以下是原文:----------------------------------------March 6, 2017Thank you for downloading SeaTools Bootable v2.0.7This i
芯片的SPI口 总结下上周五的工作内容不同厂家的不同芯片在实现总线端口时都有不同的方法。突然回忆起很久以前在H公司做的一款高通的芯片,MDM6600,那个端口叫GSBI。这个口可以多种功能复用,可以做i2c,可以做spi。都是根据不同的配置来实现不同的功能。周五的工作内容也是类似,而且更简单,就是R公司的一款MCU,调试下SPI口就好了。前一天的总结写漏了,pin配置好,中断再配置好,然后是寄存器
文档能力与audio测试 今天的工作内容主要就是修改一篇文档:文档编辑能力是很重要的一种能力,不亚于编写代码。文档要求:起码要有个封面吧总目录也必须有,图目录、表目录做的好的话最好也有。而且所有目录都应该与章节对应,可以自动更新。正文部分所有章节大标题小标题,文档引用,图表引用都要对应。好的话再区分个奇偶页。最后带附录,参考文档。文档更新历史,版本对应。另外简单对应了一个
modem文档和寄存器访问方式 今天的工作内容:给之前做的一款modem补充文档(欠下的债早晚要还的),遗憾就是时间紧迫只支持了串口。USB硬件改动后Linux能识别但是驱动待添加,回头有空搞搞。I2S是引脚都没出,这就没得玩了,不过试了下接打电话还是OK的。还有一项就是继续迁移SPI口,从1通道迁移到0通道。难度不大,但是繁琐。GPIO重新陪下,所有的寄存器操作也需要更新。这就就牵扯出一个问题,
嵌入式软件开发准备1 昨天准备了这么几个内容TFTP服务器:可以使用ubuntu自带服务,也可以使用第三方软件,例如IPOPNFS服务器:使用ubuntu自带服务,window下只有server版有第三方软件,所以还是前者好交叉编译器:要注意是32位还是64位
C语言32个关键字 刚面试了个大学生,居然连所有的关键字都不熟悉。。。 特此分类总结下:一共32个关键字。(这里说的是ANSI C标准哈,C99、C11暂且不谈) 关键字的意思是说,这几个单词是有特殊用途的,保留给编译器用,程序员给变量或者函数起名字是不能用这几个单词的。 先来总体介绍下 第一大类是数据类型类,一共14个: **signed unsigned char short int long enu
CSR 1010 PIO demo 使用的是bluechio的开发板。PIO 9/10/11是红绿蓝三色灯,PIO拉低则灯会亮。PIO1连接了按键,按键按下时接地。/****************************************************************************** * Copyright 2012-2015 Qualcomm Technologies Inte
CSR环境中的GPIO模拟I2C 碰到个客户,就是不用官方库中的i2c引脚,非要用普通PIO模拟的,没办法,只能自己写了。原理很简单,其实就是GPIO的拉高拉而已。先准备好头文件,将基本的拉高拉低封装一下。#define DELAY 10/* pin definition */#define SDA_PIN (1 << 12)#define SCL_PIN (1 << 14)#define RST_PIN (
UART环回 UART环回可以测试CPU的uart功能是否正常,是进一步开发的必要步骤。RX信号一般会绑定接收函数,这个callback要尽量短小精悍,最好收到uart数据后立即处理掉,或者存入缓存/内存,然后立即返回。在环回时可以使用串口工具进行调试。有个有意思的地方是,有2个特殊的按键:退格键与回车键。如果是退格键:RX会收到‘\b’字符,这时候要环回'\b'‘空格’'\b'这3个字符才
CSR系列开发板的编程器/烧写器 本文总结下我目前见过的CSR系列开发板的烧写器。感觉CSR的芯片用的是改装后的SPI总线,因为除了SPI标准的MO,MI,clk和enable以外,还有一个CSB,不知道作用是什么,回头我再查下资料。因此,编程器就只能使用CSR官方发布的了(貌似有破解版,但是没用过)。先来介绍第一款,是5348开发板上用到的,板载的调试器。如上图中红色方框,是编程器部分的电