Raspberry Pi Zero W解决调试信息不足的问题(以libzmq-dev为例)

最近在参照 树莓派实时系统下脚本语言的选择(应当使用Lua而不是Python) 调用调试lua-zmq的时候,发现使用PAIR模式进行线程之间通信,长时间运行后会出现死锁的情况。

当我们需要跟踪问题的时候,使用apt-get安装的版本缺乏必要的调试信息。

我们可以手工安装调试信息包,如下:


我们也可以从源代码重新编译一份,如下:

以上是针对Debian安装包来进行的处理,然而对于luarocks安装的插件来说,默认luarocks是不能编译调试版本的,此时就需要我们手工编译了。我们以lua-zmq为例子,参考如下:

ubuntu 16.04下安装RTL8192EU(天猫魔盘)

最近需要使用无线网卡,恰好手头有一枚RTL8192EU(天猫魔盘)的无线网卡,使用如下方式安装驱动:

如果下载代码存在困难,可以从本站下载一份代码拷贝 点击这里下载rtl8192eu-linux-driver

参考链接


ubuntu 16.04安装PCB设计软件gEDA


安装完成后,使用gEDA Schematic Editor进行电路的绘制。

比较遗憾的是gEDA貌似已经很长时间没有更新了,更推荐使用KiCAD来开发,这个软件貌似一直都在更新,参考 ubuntu 16.04安装PCB设计软件KiCAD EDA

参考链接


macOS High Sierra(10.13.6)使用HL-340(CH340/CH341)芯片的USB转串口设备

最近开发需要,购买了一堆的USB转串口设备,在Linux下面都是免驱动的,但是到了macOS High Sierra(10.13.6)上,无法正常识别。在Linux上通过lsusb可以看到如下信息:

继续阅读macOS High Sierra(10.13.6)使用HL-340(CH340/CH341)芯片的USB转串口设备

Ti Code Composer Studio 8.1.0使用SEGGER J-Link Emulator插件代码完整性校验

最近在使用Ti Code Composer Studio 8.1.0编译调试代码,当通过网上购买的SEGGER J-Link Emulator来烧写固件的时候,发现在某些情况下会出现固件烧录不正确,导致各种莫名其妙的问题。可以通过下图所示的方式,要求SEGGER J-Link Emulator在烧录完成固件后,对固件进行完整性校验,规避上面的问题。
继续阅读Ti Code Composer Studio 8.1.0使用SEGGER J-Link Emulator插件代码完整性校验

ubuntu 16.04(x64)编译并烧录NodeMCU固件

最近在捣鼓NodeMCU,中间各种折腾,下面记录一下编译固件的过程。

首先参考 ubuntu 16.04(x64)构建NodeMCU编译工具链 来构建工具链,然后把工具链加入到环境变量。

然后就是下载固件代码并进行编译了

如果存在下载问题,可以本站下载一份代码拷贝。点击此处下载

只要NodeMCU开发板通电或重置,就会执行init.lua脚本。因此,我们把自己的代码写在这个脚本里面即可。然后用luatool更新到NodeMCU设备里面即可。

注意上面的代码中,--port参数需要根据实际情况进行修改,--src参数也是一样需要根据我们实际的文件名来调整,最后的-b指定波特率,上面固件编译后默认的波特率是115200,淘宝上卖的设备,很多是默认9600的,这个要注意。

如果上面的代码下载存在问题,可以本站下载一份拷贝 点击这里下载luatool
继续阅读ubuntu 16.04(x64)编译并烧录NodeMCU固件