
linux
文章平均质量分 52
fly 100%
大学专业微电子偏工艺设计第一份工作硬件:仿真过电路 设计过电路 画过PCB 做过FPGA三年verilog写程序第二份芯片驱动工作:arcleonarm芯片调试环境ip验证驱动开发脚本编写各种杂不专业
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
shell 和csh 下 产生随机数
shell 中使用随机数,简单思路是打开/dev/random ,读取随机数,但是这个样就太过繁琐,shell 中有内建函数RANDOM,这个RANDOM应该是封装了读写/dev/random 的操作。#!/bin/shrand=$RANDOMecho $rand实验证明csh 中是没有这内建函数的,需要在csh 中调用sh 脚本,然后读取返回值。ran.sh#!/bin/shecho $RANDOMrand.csh#!/bin/cshset rand = ./shecho "原创 2020-11-19 08:31:50 · 1341 阅读 · 0 评论 -
shell下使用vim 文件处理
shell 本身具有文件处理的功能,包含部分内建函数,但毕竟不是编辑器,实现部分查找、匹配、替换的功能太过繁琐,这中应用常见编辑器反而更有优势。vim 有带参数的模式, 平时少有人关注,例如vim -v Vi modevim -e Ex modevim -D Debugging mode...shell 下主要使用的是vim -c <commond> 的命令模式,commond 就是在vim 下命令模式输入的命令,效果和vim ide 打开后: cm...原创 2020-11-18 08:23:10 · 1099 阅读 · 0 评论 -
QT ubuntu安装和demo
下载在地址:http://download.qt.io/official_releases/qt/里面选一个版本就可以,这里选的/5.9/5.9.2/q下载完村房子啊Download 下#安装赋予执行权限chmod +x qt-opensource-linux-x64-5.9.2.run执行安装./qt-opensource-linux-x64-5.9.2.run弹出的对话框一路next,遇到申请装好就申请账号。安装完的样子demoNew Project-> Appl原创 2020-10-31 11:37:00 · 423 阅读 · 0 评论 -
shell foreach
shell 中的循环最常用的是foraech声明一个数组set test ={"a" "b" "c"}foreach var (test);thenecho $varend显示的结果是a b c foreach 可以自动的计算出需要循环的数量,整体的结构就比较简单,这是最突出的优势...原创 2020-10-06 17:57:54 · 6016 阅读 · 0 评论 -
解决WiFi固件编译错误:STATION_INFO_ASSOC_REQ_IES
在使用WiFi 模块到板上系统过程中,编译WiFi固件。因为WiFi固件最后也要运行在系统中,所以编译时需要连接kernel,编译的时候遇到了几个结构体成员未申明的错误 error :STATION_INFO_ASSOC_REQ_IES undeclared (first used in this function) error :(Each undeclares idetifier is re原创 2017-05-13 09:01:23 · 3010 阅读 · 4 评论 -
脚本设置环境变量方法
更改环境变量可以增加应用执行搜索的方位,运行应用时可以不用指定路径很多的应用执行方法./test就可以改成test一般设置环境变量的方法:修改etc/profileexport PATH=/xx/:$PATH也可以在脚本中增加这条命令来修改环境变量,但是随着脚本的运行推出,环境环境变量PATH 的修改也消失了。为了实现脚本退出 修改的环境变量仍然生效,需要在执行脚本前增加一个“.". ./set_env.sh...原创 2020-06-16 08:45:58 · 1860 阅读 · 0 评论 -
kernel 打印输出用户名修改
当前状态kenel 打印输出都会自带一个用户名在行首,例如:原理这个字符串存放在/etc/profile操作过程可以通过修改rootfs 中etc/profile 来改这个字符串。最终效果:原创 2020-06-01 19:29:03 · 332 阅读 · 0 评论 -
应用层控制gpio
GPIO是最简单的一个外设,同时使用率也非常高,在应用中直接调用体现了linux 一个核心特征:一切皆文件,控制gpio 也是写文件一样,接口就是通过/sys/class/gpio。具体例程:#include<stdlib.h>#include<stdio.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<sys/time.h>#define原创 2020-05-11 17:42:48 · 608 阅读 · 1 评论 -
C-宏
介绍c99和gcc 扩展的几个重要的宏,说明了基本的作用。配上例子帮助理解原创 2014-12-11 13:37:44 · 760 阅读 · 0 评论 -
kernel-char设备的建立
分析了一个典型的kernel中的char设备初始化程序,算是kernel下几种设备分析的一个开始吧。原创 2014-12-15 18:36:25 · 994 阅读 · 0 评论 -
kernel wifi 测试方法
工具iwconfig iwlist 路由步骤step 1 配置编译kernel需要在menuconfig 中选中驱动配置,配置kernel的网络协议支持,否则运行会出现error -71的协议错误。step2 编译网卡固件驱动下载固件代码,配置固件代码中的Makefile ,修改其中的kernel 路径 、kernel版本号、交叉编译工具名字和路径和一些其他的配置。 运行其中makefile原创 2017-05-12 19:47:47 · 1679 阅读 · 0 评论 -
error:declared inside parameter list
现象最近一直kernel4.1 的驱动到3.0 时经常出现 warning:declared inside parameter list 这样的警告,但是单纯从语法上又看不到什么,因为个人习惯是使用ide 编程,参数的定义类型还是直接能够跳转到声明的地方的。问题根源虽然能够从ide 上直接跳转到参数类型的定义,但是发现有的文件居然没有include 任何其他文件,其中明显有结构体是需要依赖其他.头文原创 2017-05-12 20:05:30 · 5430 阅读 · 0 评论 -
kernel无法进入console
解压rootfs 中dev/ 下 是否有 null 和 console 如果没有在dev/运行命令: mknod -m 600 dev/console c 5 1 mknod -m 600 dev/null c 1 3之后再压缩roofs 就可以了原创 2018-02-10 09:23:17 · 1273 阅读 · 0 评论 -
linux-启动脚本
rootfs etc/init.d/rcS #!/bin/sh/bin/mount -t proc proc /proc/bin/mount -t sysfs none /sys/bin/mount -t ramfs ramfs /homefor initscript in /etc/init.d/S[0-9][0-9]*do if [ -x $initscript ...原创 2018-02-24 08:36:43 · 586 阅读 · 0 评论 -
linux-telnet
telnet 控制和调试的重要接口再开发板中开启telnet的方法:在rootfs启动脚本中/etc/init.d/So1udev 中添加mkdir /dev/ptsmount -t devpts devpts /dev/pts/bin/mount -t devpts devpts /dev/pts >/dev/null 2>&1rootfs/etc/下创建文件...原创 2018-03-03 18:07:26 · 364 阅读 · 1 评论 -
使用lmbench测试linux性能-编译
下载源码http://www.bitmover.com/lmbench/get_lmbench.html我们需要下载lmbench-3.0-a9 下载页的有问题,好像是2a8的 。编译出来提示llseek 没有定义。##编译先给需要改的文件修改权限,不然每个文件关闭的时候提示很烦,su chmod 777 scripts/ossu chmod 777 scripts/compiler...原创 2018-12-08 13:03:26 · 2540 阅读 · 0 评论 -
linux redefinition of 'struct timspec'解决
编译linux 内核应用rtc 测试:···ttp://blog.youkuaiyun.com/shujun19941226/article/details/51526506原创 2019-02-03 11:24:00 · 5839 阅读 · 0 评论 -
linux-i2c
1 基本概念介绍1.1 I2CI²C(Inter-Integrated Circuit)是内部整合电路的称呼,是一种串行通讯总线,使用多主从架构。I²C只使用两条双向开放集极(Open Drain)(串行数据(SDA)及串行时钟(SCL))并利用电阻将电位上拉。I²C允许相当大的工作电压范围,但典型的电压基准位为+3.3V或+5v。I²C的参考设计使用一个7位元长度的位址空间但保留了16个位址...原创 2019-02-22 08:34:08 · 462 阅读 · 0 评论 -
linux-rtc
RTC(Real-time clock)本身是一个时钟,用来记录真实时间,当软件系统关机后保留系统时间并继续进行计时,系统重新开启后在将时间同步进软件系统。可以看到,主要电池供电和系统供电双供电电路和晶振电路。1.双供电系统主要作用是系统供电是整体由系统供电,如果是可供电电池,电池还可以充电。系统关机后使用电池仅仅对rtc 部分进行供电,维持记录的时间不丢失,系统时间还能够继续进行计时,防止...原创 2019-02-18 14:15:23 · 1051 阅读 · 0 评论 -
linux-wdt 原理和任意超时时间设置的解决方法
Watchdog Timer的缩写字母,也就是看门狗,是一个定时器电路。原创 2019-02-13 08:53:37 · 4610 阅读 · 0 评论 -
linux-编译ko
最近做个音频外设的驱动,驱动搞定后却找不到该把它放在哪里,放在alsa 吧客户却基本不用,放在misc吧 有确实有很多已经放在里面很乱了,而且觉得这个本来就不是自己芯片内的IP驱动只能算是一个外接的外设,最主要是不想把它跟着sdk 发布出去,最后还是决定把它做成ko吧,这样他单独放在一个文件夹里面,有人需要就单独发布给他。.ko文件常规在linux下加载驱动模块都是.o文件, .o文件也就是o...原创 2019-03-23 14:28:28 · 3835 阅读 · 8 评论 -
main和_main的区别
具体介绍了main和_main的编译运行结果的区别 已经内在原因 可以很好的帮助理解系统的编译特点原创 2014-03-13 10:34:40 · 4246 阅读 · 0 评论 -
alsa 移植到Linux3.0
介绍了alsa 移植到Linux3.0的方法:lib编译 工具编译 lib到板端 工具到板端原创 2014-12-22 16:59:35 · 1047 阅读 · 0 评论 -
kernel-线程thread
介绍了pthread和kthread分别在2.6和3.0的区别,几个关键的函数都给出了介绍。原创 2014-12-15 18:09:57 · 1231 阅读 · 0 评论 -
arm11-mmu
介绍了arm1176 mmu的设置流程 和注意项 后面给出了测试的一般方法原创 2014-04-24 08:55:12 · 1133 阅读 · 0 评论 -
arm汇编--变量
介绍了arm汇编中关于变量的声明 初始化的关键字操作 最后给出一个运用这个方法进行汇编程序设计原创 2014-04-15 19:22:53 · 7058 阅读 · 0 评论 -
ARM汇编--pc 跳转方法
本文介绍了两种比较常规的跳转方法 最后提出一种不是很常用的一种跳转方法 这种跳转可以解决一些汇编问题 简化跳转过程 带来意外惊喜原创 2014-04-08 19:31:38 · 5207 阅读 · 2 评论 -
arm汇编--循环
本文介绍了在汇编中进行循环的三种方法 第三种算是比较常用的方法 但是比较繁琐 第一种运用arm关键字while进行循环原创 2014-04-14 18:29:44 · 8891 阅读 · 0 评论 -
简单的make file 编写
make文件在嵌入式开发中占有很重要的位置,可以完成编译连接和文件的配置。在arm开发中一般的ide会面临比较多的设置页面的切换 ,提供了很多的编译选项 ,但是这些编译选项对我们的又没什么作用 这里就用makefile来完成整个工程编译链接以下是我写的一个arm裸机工程的的makefileC_SOURCE += \./hello.cS_SOURCE += \./原创 2014-03-28 10:32:08 · 1190 阅读 · 0 评论 -
编译结果中各段意义
介绍编译器编译出来的文件中各段含义以及用途原创 2014-03-06 19:01:42 · 1252 阅读 · 0 评论 -
arm汇编指令-DCD
介绍了一点编译链接的知识,和一个很重要的代码搬移前初始化内存的指令原创 2014-03-05 19:58:29 · 17389 阅读 · 0 评论 -
elf和AXF中头部信息分析
介绍了 elf和axf中头部信息的查看方法和查看命令的参数介绍了头部信息的名称意义原创 2014-03-06 20:25:26 · 2526 阅读 · 0 评论 -
ARM汇编指令-STMFD和LDMFD
arm汇编中两个很重要很常见的指令 ,一般用于保护现场和恢复现场原创 2014-03-05 19:29:34 · 33983 阅读 · 6 评论 -
arm 汇编——宏
详细介绍了arm汇编对于宏的操作 里面给出了两个例子 通过这两个例子可以很容易的理解gnu和arm汇编的不同点 这样也是一种方便的对比学习方法原创 2014-04-10 19:17:54 · 2417 阅读 · 0 评论 -
uboot 命令总结
介绍了uboot中的命令 重要的命令给出了命令的实例和部分相关命令的关联关系 方便自己使用原创 2014-05-13 14:37:27 · 1475 阅读 · 0 评论 -
详解kernel中watchdog 驱动程序
watchdog在嵌入式系统中普遍存在,对于系统出错的恢复有着无法替代的作用。本文从atmel的驱动引入。详细介绍了watchdog在kernel中的应用和注意事项,对应程序对关键函数进行了说明,对存在的一项关键要点进行的解释。原创 2014-10-21 19:24:41 · 4276 阅读 · 0 评论 -
ADS1.2安装
介绍ADS1.2的安装步骤,对于arm M系列芯片的软件开发还是比较常用ads的 , 毕竟体积小对系统要求低同时能够满足基本的开发调试需求。原创 2014-10-16 13:20:18 · 1452 阅读 · 0 评论 -
github 建立自己的主页
介绍了最简单的建立github上的自己微薄的方法,可以在远端拥有自己的代码仓库,主要还是因为完全免费。应用git进行版本控制,方便进行回滚和分支操作原创 2014-09-29 20:04:43 · 709 阅读 · 0 评论 -
把自己加入kernel 的邮箱列表,
kernel 每天都在更新,几月就会有新的版本release出来,如何才能跟的上更新的脚步呢 。这里kernel 的组织就提供了一套邮箱系统所有的关于新版本和path的讨论都会分发下来,每天看看这些更新的说明讨论可以时刻跟住更新的脚本,对于lunux 的学习也是一个很好的补充。原创 2014-11-03 19:57:30 · 2121 阅读 · 0 评论 -
应用调用驱动的ioctl函数
使用一套源码讲解如果在应用层去调用底层的函数,承接了前一篇的在底层建立可调用的ioctl的博客讲解。可以按照自己的想法随意改动代码添加进自己的工程,也可以按照步骤建立自己的一套ioctl应用。原创 2014-10-27 19:40:10 · 3460 阅读 · 0 评论