自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

∭ g(x,y,z) dxdydz = α

Carlos Wei / 嵌入式Linux / DSP / Qt /Java / 单片机

  • 博客(69)
  • 资源 (4)
  • 收藏
  • 关注

原创 Blog Navigation

Blog list

2023-01-14 08:34:34 583

原创 0x21_LinuxKernel_内核活动(一)之系统调用

0x21_LinuxKernel_内核活动(一)之系统调用# 09_ELF文件_基于ARMv7的Linux系统调用原理 指示了从处理器的角度出发,使用系统调用需要什么处理,本文将从Linux内核的角度来观察系统调用在操作系统逻辑需要的处理。在ARM处理器的系统调用,ARMv7提供了SWI指令让ARMv7处理器进入到了特权状态,以便能访问特权内存及使用特权指令。类似的,ARMv8提供了SVC指令。从进程管理和调度角度而言,# 0x24_LinuxKernel_进程(一)进程的管理(生命周期、进程表示)进程

2022-09-16 11:07:26 902

原创 Blog Navigation

Blog NavigationCSAPP几乎囊括了整个计算机体系的架构,即便是CSAPP站在一个很高的角度来阐述计算世界,但细节远远不够。她有告诉你,有存储架构的分层设计,有cache的存在,可没有告诉你在现代处理器里会有缓存一致性snooping control unit的存在,会有MESI协议的存在,而这些需要我们去挖掘。面对技术的发展和历史积淀,我们务必要建立一个可以管理知识的体系和工...

2022-04-26 14:41:00 102

原创 我的博客目录索引(github是主站点,这里仅仅是备份)

博客已经搬家到https://github.com/carloscn/blog欢迎访问。

2022-03-23 13:49:39 550

原创 [ARM64-01] ARMv8 some basic concepts

Introduction新一代64位处理保持ARMv7兼容性New feature在programmer guide 2.1里面 引入那些feature:Large physical address32位系统的没有enable的话,只支持4G。64bit virtual addressing使之虚拟地址空间可以超过

2022-02-23 13:18:09 1288

原创 ARMv8的ELF文件1---目标文件格式

ELF文件---目标文件格式1. 概述有几个涉及的专有名词概念段(segment)/节(section)单位存储到elf文件中代码段(code section): .code 或者 .text数据段(data section): .data这里面有几个一般性的规则:.bbs段是存储全局变量和局部静态变量未初始化的。.data段存储 已初始化全局变量和已初始化局部静态变量的位...

2022-02-22 21:04:00 366

原创 关于ARM大小端模式和CPU有关还是编译器有关

结论,ARM大小端模式和CPU有关也和编译器有关系。ARM默认状态配置为小端模式,编译器不指定编译模式也默认是小端模式。但有些ARM是可以配置为大端模式的。例如:ARMv7-A: In ARMv7-A, the mapping of instruction memory is always little-endian.ARMv7-R: SCTLR.IE, bit[31], that i...

2022-02-22 21:03:00 304

原创 03_ARMv8指令集介绍加载与存储指令

Github地址:carloscn/uncle-ben-os at car_lab_06 (github.com)ARMv8指令集介绍A64指令集只能运行在aarch64所有A64汇编都是32 bits宽的关注指令的使用、有什么limitationA64能访问的地址数据是64位宽的A64支持全部的大写或者小写方式ARM官方大写应用使用小写寄存器命名Wn表示32...

2022-02-16 14:01:00 348

原创 02. ARMv8 some basic concepts

ARMv8Introduction新一代64位处理保持ARMv7兼容性New feature在programmer guide 2.1里面 引入那些feature:Large physical address32位系统的没有enable的话,只支持4G。64bit virtual addressing使之虚拟地址空间可以超过4GBautomatic even...

2022-02-11 10:18:00 48

原创 2022年学习与反思

2022年,我决定辞职了,一方面是需要时间准备出国,另一方面实际上是对工作不太满意。两年过去了,没变的是对专业技术的饥渴,变的时间又悄悄地过去了两年。工作薪资待遇可以说非常不错的了,但是要求也越来越高,除了工作质量上的,还有越来越密的schedule,我每天沉浸在繁忙之中。我发觉我陷入了一种死亡螺旋,越忙质量越低,质量越低工作量越大,我开始没有时间思考,没有时间去复盘一些项目外围的东西,拼命的追...

2022-02-11 10:17:00 51

原创 Qt 下次启动记忆UI的方法

2020-06-22 15:44:00 270

原创 Windows系统Git Bash Sock5代理

git config --global https.proxy http://127.0.0.1:1080git config --global https.proxy https://127.0.0.1:1080git config --global --unset http.proxygit config --global --unset https.proxynpm con...

2019-09-01 16:51:00 285

原创 malloc分配内存进行对齐的操作

malloc分配内存进行对齐的操作 昨天面试高通Linux Kernel,面试官考了一个malloc内存对齐的问题,我晚上的时候细细的想了一下,实在是学习的不到位。有的时候真的应该感谢,像是Qt、Ubuntu Gcc的编译器,他们做的工作很多,malloc直接分配对齐了的内存。如果真的是一个不是很完善的平台,直接分配给你一个没对齐的内存,当我们...

2019-05-09 12:23:00 1149

原创 Qt上FFTW組件的编译与安装

FFTW組件的編譯安裝FFTW是一個做頻譜非常實用的組件,本文講述在Windows和Linux兩個平臺使用FFTW組件。Windows下的的FFTW組件已經編譯好成爲dll文件,按照開發應用的位數下載好組件包後直接按照dll規則使用組件;Linux下則需要自己進行編譯。**FFTW源碼包的下載:**http://www.fftw.org/download.htmlLinux編譯FFTW組件...

2019-02-21 12:28:51 759

原创 Qt上FFTW組件的编译与安裝

Qt上FFTW組件的編譯安裝FFTW是一個做頻譜非常實用的組件,本文講述在Windows和Linux兩個平臺使用FFTW組件。Windows下的的FFTW組件已經編譯好成爲dll文件,按照開發應用的位數下載好組件包後直接按照dll規則使用組件;Linux下則需要自己進行編譯。FFTW源碼包的下載:http://www.fftw.org/download.htmlLinux編譯FFT...

2019-02-21 12:28:00 173

原创 QWT编译与配置-Windows/Linux环境

QWT编译与配置-Windows/Linux环境QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件。本文使用基于LGPL版权协议的开源项目QWT的源代码和FFTW在Window 64bit/Linux环境下的Qt上进行编译,编译器使用MinGW-64bit版本。最终配置生成QWT的静态库文件和将qwt ui组件集成到QtCrea...

2019-02-18 19:50:55 1073

原创 Manjaro Linux KDE个人的一些安装配置

安装manjaro kde linux的个人步骤1 换源1.1 自动寻找最快的源sudo pacman-mirrors -i -c China -m rank1.2 修改源文件sudo gedit /etc/pacman.conf添加archlinuxcn软件源,在最下方添加:[archlinuxcn]Server = https://mirrors.tuna.tsinghua....

2019-01-28 19:48:07 1142 2

原创 Linux内核调用I2C驱动_以MPU6050为例

Linux内核调用I2C驱动_以MPU6050为例0. 导语最近一段时间都在恶补数据结构和C++,加上导师的事情比较多,Linux内核驱动的学习进程总是被阻碍、不过,十一假期终于没有人打扰,有这个奢侈的大块时间,可以一个人安安静静的在教研室看看Linux内核驱动的东西。按照Linux嵌入式学习的进程,SPI驱动搞完了之后就进入到I2C驱动的学习当中,十一还算是比较顺利,I2C的Linux驱动完...

2018-10-02 16:28:17 974 1

原创 Linux内核调用I2C驱动_驱动嵌套驱动方法

禁止转载!!!!Linux内核调用I2C驱动_以MPU6050为例0. 导语最近一段时间都在恶补数据结构和C++,加上导师的事情比较多,Linux内核驱动的学习进程总是被阻碍、不过,十一假期终于没有人打扰,有这个奢侈的大块时间,可以一个人安安静静的在教研室看看Linux内核驱动的东西。按照Linux嵌入式学习的进程,SPI驱动搞完了之后就进入到I2C驱动的学习当中,十一还算是比较顺...

2018-10-02 16:27:00 924

原创 安装ADI的CCES ubuntu16.04 打不开出现错误解决方法

出现问题在ubuntu 16.04 amd64上面安装CCES 2.8出现了无法启动软件的错误,查看日志发生了这些事情,找不到libgtk-3.so的库。日志文件如下:!SESSION 2018-09-09 14:23:25.781 -----------------------------------------------eclipse.buildId=unknownjava.ve...

2018-09-09 14:33:38 715 2

原创 Ubuntu Linux TinySerial串口调试助手 可视化界面 安装使用

ubuntu Linux下串口调试助手使用Tiny Serial为一个开源项目,欢迎大家使用,基于Qt开发的串口调试助手,有一般串口助手的基本功能,更多功能正在完善。Github地址:https://github.com/lifimlt/tinyserialTinySerial的安装访问:链接: https://pan.baidu.com/s/1UDqLFSimbxoHpodww...

2018-09-08 15:37:00 3986 1

原创 Linux 串口调试助手 桌面版本 支持ubuntu

ubuntu下串口调试助手使用Tiny Serial为一个开源项目,欢迎大家使用,基于Qt开发的串口调试助手,有一般串口助手的基本功能,更多功能正在完善。TinySerial的安装访问:http://172.104.176.46/ubuntu,进入自己ubuntu版本的目录,下载deb文件 使用sudo dpkg -i安装即可 可能会出现以来问题,安装提示不成功使用sudo a...

2018-09-08 15:27:31 813

原创 ZYNQ的Linux Linaro系统镜像制作SD卡启动

ZYNQ的Linux Linaro系统镜像制作SD卡启动0. 概述ZYNQ生成uboot的时候和正常的ARM设备不太一样,ZYNQ属于二次辅助启动uboot然后由uboot启动内核,大概意思就是 ZYNQ内部有一个机制,该机制不可修改,可以通过拨码开关控制启动方式,比如从SD卡启动还是从QSPI启动,SD卡中要包含uboot的镜像信息。最大的不同就是,uboot编译完还不可以直接使用,...

2018-08-28 12:16:44 3565

原创 Linux内核调用SPI平台级驱动_实现OLED的显示功能

Linux内核调用SPI驱动_实现OLED显示功能0. 导语进入Linux的世界,发现真的是无比的有趣,也发现搞Linux驱动从底层嵌入式搞起真的是很有益处。我们在单片机、DSP这些无操作系统的裸机中学习了这些最基本的驱动,然后用过GPIO时序去模拟、然后用那个芯片平台的外设去配置参数,到Linux的世界,对于底层的时序心中有数,做起来就容易很多。学习的过程就是不断的给自己出难题,然后...

2018-08-28 12:06:56 3177 3

原创 Android 串口蓝牙通信开发Java版本

Android串口BLE蓝牙通信Java版0. 导语Qt on Android 蓝牙通信开发我们都知道,在物联网中,BLE蓝牙是通信设备的关键设备。在传统的物联网应用中,无线WIFI、蓝牙和Zigbee,还有一些其他的2.4GHz的无线网卡等。对于一个面向物联网的嵌入式工程师来讲,不单单是要学会底层硬件嵌入式或者是嵌入式Linux驱动的开发,还要掌握上层应用,以理解开发流程,方便未...

2018-08-28 11:56:19 658

原创 基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ

基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ0. 导语学习进入到了下一个阶段,还是以AD9833为例,这次学习是向设备申请中断,实现触发,在未来很多场景,比如做用户级的SPI传输完毕数据之后,怎么知道从设备要发数据呢,则需要一个IO信号通知主设备来读从设备的数据,那么就需要一个外部的IO中断信号,所以呢,对于中断的处理十分重要,本demo实现这样的一个...

2018-08-28 11:55:44 352

原创 基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(二)之cdev与read、write

基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(二)之cdev与read、write0. 导语在上一篇博客里面,基于OMAPL138的字符驱动_GPIO驱动AD9833(一)之ioctl 中使用#include <linux/miscdevice.h>中的miscdevice机制,在呢篇博客中使用宋宝华的Linux驱动设备中提供的cdev机制完成注册,...

2018-08-28 11:55:16 242

原创 基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(一)之miscdevice和ioctl

基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(一)之miscdevice和ioctl0. 导语在嵌入式的道路上寻寻觅觅很久,进入嵌入式这个行业也有几年的时间了,从2011年后半年开始,我清楚的记得当时拿着C51的板子闪烁了LED灯,从那时候开始,就进入到了嵌入式的大门里面。嵌入式的学习从来没有停止过,中间也有无数的插曲和机缘巧合学会C++和Java,做一些好玩的应...

2018-08-28 11:54:51 398 2

原创 OMAPL多核异构通信驱动AD9833波形发生器-Notify组件

OMAPL多核异构通信驱动AD9833-Notify组件demoOMAPL多核通信有三个主要机制,Notify,MessageQ,RegionShare;这里主要利用了Notify机制进行通信控制。要做一个什么实验?简单的说,ARM跑一个界面上面有一些按钮,DSP负责驱动AD9833产生正弦、方波和三角波,写入频率信息。这个实验结构是一个经典的单向的传输结构,由用户触发ARM跑的界...

2018-08-28 11:54:20 289

原创 DSP+ARM多核异构开发环境SYSLINK搭建OMAPL138

DSP+ARM多核异构开发环境搭建OMAPL138注意: 环境为Ubuntu 12.04 只能是这个环境。我甚至在Ubuntu16.04上面安装了VMware,然后,在装了一个Ubuntu 12.04 x86版本。导语与感想OMAPL138属于多核异构平台(DSP+ARM),多核通信是多核异构平台的精髓部分,目前市面上流行的还有ZYNQ平台(FPGA+ARM),同样通信机理复杂。德...

2018-08-28 11:53:37 592 1

原创 基于OMAPL:Linux3.3内核的编译

基于OMAPL:Linux3.3内核的编译OMAPL对应3个版本的linux源代码,分别是:Linux-3.3、Linux-2.6.37、Linux2.6.33,这里的差距在于Linux2,缺少SYSLINK支持组件。这里我们选择Linux-3.3版本进行开发。开发前准备mkimage的工具:sudo apt-get install u-boot-toolsmenuconf...

2018-08-28 11:53:06 248

原创 ZYNQ的Linux Linaro系统镜像制作SD卡启动

ZYNQ的Linux Linaro系统镜像制作SD卡启动0. 概述ZYNQ生成uboot的时候和正常的ARM设备不太一样,ZYNQ属于二次辅助启动uboot然后由uboot启动内核,大概意思就是 ZYNQ内部有一个机制,该机制不可修改,可以通过拨码开关控制启动方式,比如从SD卡启动还是从QSPI启动,SD卡中要包含uboot的镜像信息。最大的不同就是,uboot编译完还不可以直接使用...

2018-08-27 17:55:00 588

原创 Linux GPIO键盘驱动开发记录_OMAPL138

Linux GPIO键盘驱动开发记录_OMAPL138Linux基本配置完毕了,这几天开始着手Linux驱动的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些。看了一下Linux3.3内核文件下的driver目录,点开里面的C文件,感觉底层的Linux驱动机制还是很复杂的,还需要一段漫长时间的学习。现在开发的也不能说是叫做驱动,也只能说是驱动的应用,我们学习驱动也从应用逐步开始...

2018-08-27 12:13:30 274

原创 OMAPL138制作SD卡启动介质及重装Linux系统

OMAPL138制作SD卡启动盘及重装Linux系统手里的创龙的OMAPL138平台的系统SSH坏掉了,我重新移植了openssh还是不好使,没有办法了只能重装OMAPL138的系统了,按照创龙给的文档《SD卡启动盘制作》按照步骤进行,当执行一个叫做mksdboot-tl.sh文件时候出现以下报错:(倒数第4行)sfdisk 无效选项 – D,然后我进入到了这个脚本文件中查看了这一步骤...

2018-08-27 12:12:41 545

原创 Linux编译移植Qt5的环境_OMAPL138平台

Linux编译移植Qt5_OMAPL138【导语】:昨天编译Qt5各种失败,各种离奇的错误在Google上面也搜索不到,真是让人“蛋疼菊紧”,今天把所有的环境全部清理干净,也重新解压了Qt5.1.1的源码包,重新走了一遍,效果还可以,也没有出现PDA LTS什么库问题,现在整理一下详细过程和细节点。另外说一下,我使用Qt5.8.0的源码包进行编译,我的OMAPL138的ARM9架构,在co...

2018-08-27 12:12:14 478 1

原创 Linux编译移植Qt4的环境_在OMAPL138平台

Linux编译Qt4的环境_OMAPL138手里有一块创龙OMAPL138的板子,我要在上面成功移植Qt环境和触摸屏幕,这是我第二次进行Linux的Qt环境移植,发现了很多问题,需要重新整理。 我编译了,Qt5版本以上的,结果就是不成功,总是死在PDA问题上,在 configure文件上加入-xcb的选项,就算我安装了xcb所有的库文件,最后还是出问题,我还在研究之中,等着编译Qt5通过之后,...

2018-08-27 12:11:47 2407

原创 嵌入式Linux编译内核步骤 / 重点解决机器码问题 / 三星2451

嵌入式系统更新内核1. 前言手里有一块Friendly ARM的MINI2451的板子,这周试着编译内核,然后更新一下这个板子的Linux内核,想要更新Linux Kernel 4.1版本,但是种种原因实在是没有更新成功;于是使用Friendly ARM板子提供的3.6版本的内核,但是他们的内核全都配置好了,你只需要按照常规的方法进行编译就好了,貌似不能更深入的理解内核, 后来我从ke...

2018-08-27 12:09:36 315

原创 Linux编译移植Qt5的环境_Xillinx的ZYNQ平台

Linux编译Qt环境2017年的十一假期,足不出户,一个人在教研室里面搞Qt的移植。我手里面有Samsung的CortexA8,Samsung的 CortexA53还有Ti的Sitara系列的AM3517的ARM,都成功的移植了Qt,然而在我接触ZYNQ这个平台的时候,偏偏搞的我三天的时间,无法移植,ZYNQ上面安装的是Linaro这个阉割版本的Ubuntu,怎么都不成功,一个问题,在我的P...

2018-08-27 12:08:45 550

原创 Linux编译移植Qt5的环境_Xillinx的ZYNQ平台

Linux编译Qt环境2017年的十一假期,足不出户,一个人在教研室里面搞Qt的移植。我手里面有Samsung的CortexA8,Samsung的 CortexA53还有Ti的Sitara系列的AM3517的ARM,都成功的移植了Qt,然而在我接触ZYNQ这个平台的时候,偏偏搞的我三天的时间,无法移植,ZYNQ上面安装的是Linaro这个阉割版本的Ubuntu,怎么都不成功,一个问题,在我的P...

2018-08-27 12:08:45 663

原创 Qt的QWebChannel和JS、HTML通信/交互驱动百度地图

Qt的QWebChannel和JS、HTML通信/交互驱动百度地图0 前言我一个研究嵌入式的,不知道怎么就迷上了上位机,接了几个项目都是关于Qt,这个项目还是比较经典的,自己没事儿的时候也进行研究,对这个软件进行升级,反正,我喜欢编程,喜欢研究这些东西。研究了一下午,查了很多资料,看了很多的例子,我对于JS是0基础,能稍微看懂一点点HTML语言的东西,下午调试了好几遍,运行了好几遍,终...

2018-08-27 12:07:57 4678 6

电路示例.vsdx

VISIO画的电路示例图,可以根据电路示例改装,放在自己的论文文档中哦。

2019-10-23

TI Pin Multiplex Utility

TI Pin Multiplex Utility 引脚配置软件,适配下列几种型号。 OMAP-L138 OMAP-L132 TMS320C6742 TMS320C6746

2017-04-24

QT蓝牙开发源代码安卓

QT开发蓝牙串口在安卓上面运行,实现一个简单的类似于串口助手一样的功能。 具体介绍请参考我的博客:http://www.cnblogs.com/sigma0/p/5769527.html

2016-08-14

【MLT文献】滤波器的参数:截止频率(高通,低通,带通)

滤波器的参数:截止频率(高通,低通,带通),电子滤波器等信号传输通道中的诸如低通、高通、带通、带阻等频带特性都应用了截止频率的概念。

2015-09-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除