uart

wk2124 在 rk3288 上的适配与调试

若如初见. 提交于 2019-12-05 14:37:56
2019-11-25 关键字:linux驱动开发、arm驱动适配、kernel开发、SPI转串口 WK2124 是一款 SPI 接口的 4 通道 UART 芯片。说白了就是一款通过 SPI 协议与 CPU 通信并对外表现出具备 4 个 232 串口功能的扩展芯片。它适用于 CPU 引脚资源不够或紧缺的情况,它的最高通信速率能达到 10Mbps。 本篇文章记述的是 WK2124 芯片在软件上的适配过程,属于软件开发范畴。但其实大家都知道,干到驱动这一层,对硬件电路一窍不通的话那是真干不下去。就拿这块芯片的软件层适配来说,我们需要的官方文档有: 1、芯片datasheet; 2、参考驱动程序; 3、参考原理图。 这些文件一般芯片厂商会提供,笔者这里也准备好了一份文件,有需要的可以直接下载: https://pan.baidu.com/s/1tpjTmRO5xgQXF-w7YsUqdA 提取码: juz1 首先来看看 WK2124 的引脚封装,如下图所示: 对于我们来说,在适配阶段需要关心的脚就 5 个,如上图标红框处所示。这些引脚的功用,datasheet 上都已有很详尽的说明: SPI 通信引脚在笔者的 3288 样机上所连接的 CPU 引脚是 SPI2,如下图所示: IRQ 脚在笔者的 3288 样机上所连接的 CPU 引脚是 GPIO7_A2,如下图所示: 然后,还有一个最重要的

Intel Galileo bare metal UART

断了今生、忘了曾经 提交于 2019-12-04 23:04:31
问题 I want to program a little "hello world" bare metal application on the Intel Galileo board. Using UEFI to print out text (to UART-1) works well, of course, but I want to access the UART "manually", without any help from UEFI. In QEMU my code works well: .h file #define COM1_PORT (0x03F8) #define UART_PORT (COM1_PORT) enum uart_port_offs_t { // DLAB RW THR = 0, // 0 W Transmitter Holding Buffer RBR = 0, // 0 R Receiver Buffer DLL = 0, // 1 RW Divisor Latch Low Byte IER = 1, // 0 RW Interrupt

2019-2020-2-20175209 20175213 20175214-实验二固件程序设计

青春壹個敷衍的年華 提交于 2019-12-04 18:52:01
实验二 固件程序设计 本小组成员: 20175209 王梓鸿 20175213 吕正宏 20175214 林郅聪 实验二 固件程序设计-1-MDK 实验内容: 1.注意不经老师允许不准烧写自己修改的代码 2.三人一组 3.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 4.提交破解程序中产生LIC的截图 5.提交破解成功的截图 实验步骤: 找到exp2\软件资料\MDK4.74路径下的mdk474.exe文件,点击并安装。注意此过程中安装目标路径是自己创建的一个名为Keil 4的文件夹。 安装Ulink驱动。 在桌面上创建的快捷方式“Keil uVision4”上右键,选择“以管理员身份运行”。 按照实验指导书上的操作进行软件安装,然后运行 uVision4,点 File>>License Management-->复制 CID-->运行keil-MDK注册机(在“Z32开发指南\2.软件资料\keil-MDK 注册机”双击“keil mdk474注册机”),最后粘贴 CID 并选择 ARM。 将LIC复制并将其粘贴到keil4中的LIC输入框中,进行破解。 实验二 固件程序设计-2-LED 实验内容: 0

2019-2020-1 20175221 20175225 20175226 实验二 固件程序设计

白昼怎懂夜的黑 提交于 2019-12-04 18:21:14
20175221-20175225-20175226 信息安全系统 实验二《固件程序设计》实验报告 实验小组成员:20175221 曾祥杰 20175225 张元瑞 20175226 王鹏雲 任务一【固件程序设计-1-MDK】 任务详情 注意不经老师允许不准烧写自己修改的代码 •1. 三人一组 •2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) •3. 提交破解程序中产生LIC的截图 •4. 提交破解成功的截图 实验步骤 在exp2\软件资料\MDK4.74找到mdk474.exe文件,点击并安装 安装Ulink驱动 以管理员身份运行Keil uVision4 File->License Management…,在弹出的窗口中复制CID; 在exp2\软件资料\keil-MDK注册机\keil mdk474注册机找到“KEIL MDK4.74crack.exe”,运行Keil-MDK注册机。将CID粘贴,“TARGET”选择“ARM”,然后点击Generate,生成LIC; 将LIC复制并粘贴到License Management窗口中的“New License ID Code(LID)”一栏中,最后“ADD LIC”。 任务二

2019-2020-2-20175301 20175305 20175318-实验二固件程序设计

非 Y 不嫁゛ 提交于 2019-12-04 18:16:44
实验一 开发环境的熟悉 本小组成员 20175301 20175305 20175318 一、实验步骤 1-MDK 实验要求 1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 2.提交破解程序中产生LIC的截图 3.提交破解成功的截图 实验步骤 按照实验指导书上的操作进行软件安装-->运行 uVision4,点 File>>License Management-->复制 CID-->运行keil-MDK注册机(在“Z32开发指南\2.软件资料\keil-MDK 注册机”双击“keil mdk474注册机”)-->粘贴 CID 并选择 ARM。 2-LED 实验要求 1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 3.实验报告中分析代码 实验步骤 首先先在 KEIL-MDK 中添加 Z32 SC-000 芯片库,操作过程为

2019-2020-1 20175301 20175305 20175318 实验二 固件程序设计

家住魔仙堡 提交于 2019-12-04 18:16:16
实验一 开发环境的熟悉 本小组成员 20175301 20175305 20175318 一、实验步骤 1-MDK 实验要求 1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 2.提交破解程序中产生LIC的截图 3.提交破解成功的截图 实验步骤 按照实验指导书上的操作进行软件安装-->运行 uVision4,点 File>>License Management-->复制 CID-->运行keil-MDK注册机(在“Z32开发指南\2.软件资料\keil-MDK 注册机”双击“keil mdk474注册机”)-->粘贴 CID 并选择 ARM。 2-LED 实验要求 1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 3.实验报告中分析代码 实验步骤 首先先在 KEIL-MDK 中添加 Z32 SC-000 芯片库,操作过程为

2019-2020-1 20175234 20175205 20175217 实验二 固件程序设计

人走茶凉 提交于 2019-12-04 18:14:58
2019-2020-1 20175234 20175205 20175217 实验二 固件程序设计 实验内容 1-MDK 实验要求 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 提交破解程序中产生LIC的截图 提交破解成功的截图 实验步骤 按照实验指导书上的操作进行软件安装 运行 uVision4,点 File>>License Management-->复制 CID 运行keil-MDK注册机(在“Z32开发指南\2.软件资料\keil-MDK 注册机”双击“keil mdk474注册机”) 粘贴 CID 并选择 ARM。 2-LED 实验要求 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 实验报告中分析代码 实验步骤 首先先在 KEIL-MDK 中添加 Z32 SC-000 芯片库,操作过程为: 打开 keil

2019-2020-2-20175315 20175322 20175334-实验二固件程序设计

心已入冬 提交于 2019-12-04 18:00:35
2019-2020-2-20175315 20175322 20175334-实验二固件程序设计 实验二 固件程序设计 实验二 固件程序设计-1-MDK 0. 注意不经老师允许不准烧写自己修改的代码 1. 三人一组 2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3. 提交破解程序中产生LIC的截图 4. 提交破解成功的截图 实验截图 实验二 固件程序设计-2-LED 0. 注意不经老师允许不准烧写自己修改的代码 1. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 3. 实验报告中分析代码 程序分析 主函数代码的执行过程为: 1、系统初始化,中断设置使能所有; 2、判断按键,返回 boot 条件,确认是否进行程序下载; 3、设置 GPIO0 状态为上拉输出; 4、进入循环程序, LED 灯间隔 100ms 闪烁。

Enabling UART on Beaglebone Black

China☆狼群 提交于 2019-12-04 17:38:31
I'm having trouble getting UART enabled. I've gone through many different directions on how to enable and troubleshoot from updating the uEnv.txt file to updating the kernel. I've come to conclude that it may be an issue with using a different kernel than the instructions, but I'm not sure? I don't know very much about the Beaglebone and I'm still learning. Whenever I try to test UART by using Python and typing the following: import Adafruit_BBIO.UART as UART UART.setup("UART1") I get the error: File "stdin", line 1, in module RuntimeError: Unable to export UART channel. I'm also starting to

Bluetooth Low Energy Notification Interval

旧街凉风 提交于 2019-12-04 17:33:43
I have a question regarding the bluetooth LE protocol. I have an Android Device and a peripheral device. Looking at the transmission with a sniffer and wireshark there is +/- every 40ms an empty PDU message. As I understood the protocol this means the connection interval those device chose is 40ms. For testing I am using a simple "UART" application where the android device enables the notification on an antribute of the peripheral device and gets notified whenever the attribute changes. Now, if I "send" multiple 20 byte packets through this setup, wireshark shows me, that those value