给hackrf加上1602LCD以及UART(附带固件编译方法)

代码库(在hackrf原代码库基础上只添了两个文件,改了一个文件):

https://github.com/JiaoXianjun/hackrf-UART-1602LCD

目的主要是为了帮助想更改调试hackrf固件的人。因为没有调试手段的话改固件基本两眼一摸黑,黑暗中摸索很难。前段日子弄收飞机的固件时已经在黑暗中把调试手段弄通了,共享给需要的人。

就是给hackrf板子加上了1602液晶屏以及uart,然后就能愉快的在自己的固件代码中输出到液晶屏或者printf到电脑的串口终端了。

1 硬件连线(无需hackrf任何改动,利用它留出的现有io)

1602LCD HACKRF pin connection

HACKRF P20 20 -- 1602LCD pin11
HACKRF P20 18 -- 1602LCD pin12
HACKRF P20 16 -- 1602LCD pin13
HACKRF P20 14 -- 1602LCD pin14
HACKRF P20 11 -- 1602LCD pin6
HACKRF P20  9 -- 1602LCD pin5
HACKRF P20  7 -- 1602LCD pin4
HACKRF    VCC -- 1602LCD pin2 pin15
HACKRF    GND -- 1602LCD pin1 pin3 pin16

 

UART HACKRF pin connection

HACKRF P25 1 GND        -- GND of computer or USB-uart dongle
HACKRF P25 4 UART0 RXD  -- TXD of computer or USB-uart dongle
HACKRF P25 5 UART0 TXD  -- RXD of computer or USB-uart dongle

其中hackrf的P20和P25定义,大家去看它的 hackrf-one-assembly.pdf and hackrf-one-schematic.pdf (hackrf代码库doc/hardware目录)。关于1602LCD模块pin脚定义,以及usb串口的pin脚定义更是烂大街了,自己搜吧。

2 软件demo

 

上图中我给的hackrf固件代码循环在液晶屏显示两行,同时也往电脑上的minicom打印串口输出。波特率921600。

核心源文件hackrf_uart_1602lcd.c

整体的可编译的代码库放在这里了: https://github.com/JiaoXianjun/hackrf-UART-1602LCD

目录firmware/hackrf_uart_1602lcd/build/下放了一个编译好的DFU固件,你若不想编译,可以直接DFU模式下尝试,快速验证你的硬件连接对不对:

dfu-util --device 1fc9:000c --alt 0 --download hackrf_uart_1602lcd.dfu
(before dfu-util, make sure set your board into DFU mode)

3 关于固件编译的一些坑

基本的固件编译方法可以参照README。注意,按照README先编译libopencm3,然后:

cd firmware/hackrf_uart_1602lcd
mkdir build
cd build
cmake .. -DRUN_FROM=RAM
make

坑:

1.不是任何dfu-util都能用的,我测试了n个,这个可以用

git://gitorious.org/dfu-util/dfu-util.git  

我也放了一份在这里: https://github.com/sdr-x/sdr-x.github.io/blob/master/_resource/dfu-util.tar.gz

2.hackrf-common.cmake需要改一下

COMMAND dfu-suffix --vid=0x1fc9 --pid=0x000c --did=0x0 -s 0 -a _tmp.dfu 中的 "-s 0"去掉。后面再添加一行:

COMMAND dfu-prefix -s 0 -a _tmp.dfu

改完是这个样子:hackrf-common.cmake

3.Ubuntu自带的gcc-arm-none-eabi编译器不能用!要用这个:

https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded

!!! If you are using Ubuntu 14.04 and later, please be careful because there are packages with same name but produced by Debian and inherited by Ubuntu. Simply follow the above 3 steps, you may end up with gcc-arm-none-eabi from Ubuntu. So to install gcc-arm-none-eabi from ARM, steps are:

1). sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi
2). sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
3). sudo apt-get update
4). sudo apt-get install gcc-arm-none-eabi=4.9.3.2015q1-0trusty13
   or
   sudo apt-get install gcc-arm-none-eabi=4.9.3.2015q1-0utopic14

如果有找不到命令的错误,可能还需要如下操作:

cd /usr/lib/arm-none-eabi
sudo ln -s /usr/arm-none-eabi/bin bin
时间: 2024-09-20 07:47:31

给hackrf加上1602LCD以及UART(附带固件编译方法)的相关文章

iphone5s怎么恢复固件?苹果5s恢复固件的方法

第一步.我们先关机,然后再把苹果5s手机与电脑连接 .     第二步.我们如下图所示同时按下苹果5s的 "开机键"和"HOME键" 如下图所示.     直到手机出现白苹果,即可松开开机键,但是还要按住HOME键不松开.     然后我们再在电脑中打开 iTunes, 这样你会发现itunes就会进入恢复模式,按住键盘上的SHIFT键,点击恢复就可以进行固件的恢复了.     在恢复过程中我们必须要上网才可以哦,否则是升级不了哦.

Android 5.0 SDK无法打开附带工具解决方法

作为日常工作,常常要使用Android SDK附带的hierarchyviewer.uiautomatorviewer.ddms等工具,刚好碰上Android L发布,并且更新了Android Stutio 1.0,SDK也伴随着进行了大幅度更新,包括uiautomatorviewer等在内的工具都有了新版本.于是昨天下了新版本过来,安装上去,接着重新设置了环境变量等一系列东西,然后打开uiautomatorviewer,竟然提示出错:     '-v' 不是内部或外部命令,也不是可运行的程序

Photoshop给香烟加上逼真的烟雾

  PS功能还真不错,除了可以用来处理图片,还可以玩出各种花样.下面的教程介绍如何给雪茄加上火焰及烟雾.制作的方法非常简单利用了一些图层样式和笔刷即可完成,效果非常逼真 . 原图 最终效果 1.我们打开一张雪茄或香烟素材图,选择椭圆选框工具,在如图位置画一个圆形选区,按CTRL+J复制该选区为一个新的图层. 2.为这个新建的图层添加外发光.内发光.渐变叠加样式(图层---图层样式---混合选项),参数设置如下图. 3.现在看起来雪茄是不是很像已经被点燃了. 4.利用同样的方法制作另外一只雪茄给点

bluez蓝牙协议栈交叉编译移植教程(附带视频下载地址)

由于项目功能的要求,需要移植bluez蓝牙协议栈到S3C2410开发平台上,在移植的过程中出现了很多问题,比如依赖库的版本不匹配,交叉编译器版本过高或者过低等问题,为了能让大家少走移植的弯路,现将自己亲测的组合版本以及编译过程总结如下,同时还附带有编译过程的全称视频,只是没有声音,因为是在实验室没有麦,大家将就以下,虽然没有声音但是不影响编译过程,下载地址为:http://115.com/file/aq7pjuh6# 交叉编译bluez协议栈.avi. 需要的源码包有: bluez-libs-3

魅族M9 4.0.0-238 内测版固件

这是内测泄漏出来的版本,可能不是很稳定,也可以正常刷回官方版本. 仅供尝鲜使用,不建议初级用户刷这个版本! 1.升级固件的方法和之前一样,将update.bin放在SD卡根目录 2.升级时须勾选清除用户数据,请大家升级前做好http://www.aliyun.com/zixun/aggregation/14344.html">数据备份工作(联系人数据建议单独再备份一次:联系人-设置-导入导出联系人-导出到SD卡 3.升级成功后可以将SD卡备份的联系人数据导入:联系人-菜单-导入/导出 魅族

这款路由器是从FCC拯救开源固件的英雄

开源固件与FCC(联邦通信委员会)的规定一直是路由器领域的一大热门话题.近日,一家设计MIPS处理器的硬件公司表示,采用该公司处理器的无线路由器,将可以安装开源固件,并且保证不会与联邦通信委员会的规定相冲突.联邦通信委员会要求路由器制造商遵守规定,以防止第三方固件擅自修改无线发射频段和频率,干扰警用通信频道/天气雷达系统等. 特殊的MIPS处理器(图片来源:Imagination Technologies) 对于无线路由器的制造商来说,避免被处罚最简单的办法就是阻止用户安装开源固件.整个无线路由

医疗网站SEO:分享情人节收到的意外惊喜

对于做医疗网站的来说,用户体验这块就显得格外的重要,没办法,现在各行各业都处于激烈的竞争中,医疗行业竞争更加残酷,每个医院都想病人来自己医院来看病,每家医院也都说自己的技术精湛,可以在短时间内把某某病完全治好,然而事实真的是这样么?现在有太多医院混淆了市场行情,使得真正有技术有实力的医院深埋于巷中,无人问津,正所谓酒香也怕巷深,正是这个道理,因此,现在越来越多的医疗网站突起,每家医院都特别重视网络推广的作用,想从网络上获得效益. 正是社会趋势所使,因此,我也走上了医疗站长的道路,老板的重视程度让

如何防范我们的路由器被恶意攻击

现在随着黑客技术的不断提升提升和我们其他领域安全意识的提高,无线路由器的安全隐患就与日剧增了,加上生产商更新修复路由器固件的速度很慢,而我们升级固件也不是十分方便,结果导致黑客现在开始盯上了我们的路由器.而且中国国家信息安全漏洞共享平台今年3月13日在其官网上曝光了TP-LINK路由器存在的后门漏洞--利用漏洞,攻击者能完全控制路由器,并引导路由器自动从攻击者控制的TFTP服务器下载恶意程序.并以root权限执行.这一安全隐患不得不让我们重视起来,那么我们该怎么防范黑客的路由器攻击呢? 1.及时

如何安装逻辑域并创建来宾域

  解决方案提供商的前言:通过使用本节的命令您可以在CMT服务器上创建.查看.安装.组建网络和管理逻辑域,创建来宾域,还可以为用户创建虚拟机并安装Oracle Solaris 10系统.逻辑域技术能让系统管理员更改来宾域的CPU和虚拟I/O资源,还能轻松克隆系统. 安装逻辑域和创建来宾域 本节将介绍如何在CMT服务器上安装逻辑域.创建来宾域并安装Oracle Solaris系统.已安装的域将作为主镜像用于接下来的克隆. 验证和安装固件 所有 CMT 服务器和刀片模块都附带固件支持逻辑的域.不过,