
Linux
文章平均质量分 86
TonyHo
这个作者很懒,什么都没留下…
展开
-
Linux 终端登录SSH:解决SSH的Access Denied 和 make xconfig的使用
对于SSH: 可以不是用putty,尤其是putty出现 Access denied 的时候,请换用konsole 或者其他终端 (如 terminal)在command line中: # ssh 要访问的主机ip原创 2011-11-22 14:06:37 · 10554 阅读 · 0 评论 -
打造嵌入式ARM Linux防火墙:1. iptables基础
iptables 包含多个tables,tables中可以包含多个chains,chains可以是自定义也可以是builtin的,其可以包含多个rules。 而rules对应的是packetsiptables的4个内置tables1. Filter Tableiptables的默认table,因此如果不指定,那么默认就使用的是这个。Filter Table的3个内置Chai原创 2016-05-17 19:44:18 · 5170 阅读 · 0 评论 -
Yocto tips (20): Yocto中qemu模拟器的使用,以zynq Cortex-A9为例
在以前的文章《使用Buildroot与Qemu学习ARM linux IIC驱动》中,写到过使用qemu来模拟使用ARM Linux,那个时候借助的是buildroot,这次我们使用Yocto来做同样的事情。优点使用Qemu的好处在于,当我们在开发Userspace的程序时,可以在没有硬件的情况下完成测试。同时不像以前一样我们需要自己去编译qemu,这次我们使用Yocto编译出来的原创 2016-05-16 15:13:47 · 11291 阅读 · 2 评论 -
DBus入门实践(1): 基本概念
基本概念可以参考下面链接.或者是官方的教程. 1. linux,dbus示例 Knowing some basic things by example, 推荐:http://laokaddk.blog.51cto.com/368606/943133 http://laokaddk.blog.51cto.com/368606/943148/ 2. Docume原创 2016-09-09 11:24:51 · 6083 阅读 · 0 评论 -
Android BlueDroid分析: Linux中的Eventfd
来源Linux专有的同步机制, 需要内核高于2.6.22, 下面是引用 >这本书中的说明:从man手册中有如下的描述: eventfd() creates an "eventfd object" that can be used as an event wait/notify mechanism by user-space applications, and by the原创 2017-01-19 19:56:20 · 867 阅读 · 0 评论 -
【IMX6UL开发板试用体验】上手试用与资源使用
这个是我拿到的第二块Emball的板子了,前面是AM335X的板子。这块板子也是工业板,做工确实扎实。硬件和以前的AM335X板子一样,做工和用料比较扎实,该有的都有,连插针都是镀金的。让人非常放心的感觉。软件资源原创 2017-01-23 23:28:22 · 5467 阅读 · 1 评论 -
结合Yocto Qemu与Eclipse单步调试开发Linux Kernel
使用说明在以前的博客中说明过使用Qemu + BuildRoot来构建一个虚拟的嵌入式开发平台, 还写过使用Yocto + Qemu来构建一个Cortex-A9的嵌入式开发调试平台. 同时在很久以前也写过使用Eclipse + JLINK来调试ARM9. 而在工作学习中,有时候, 对内核源码的研究中, 需要单步对linux内核跟踪调试, 且大部分是关注与内核中某些组件的实现, 例如MM,原创 2017-04-07 16:36:39 · 3288 阅读 · 1 评论 -
Ubuntu 14.04与16.04(Linux Mint或者Debain)内核与模块编译
编译Ubuntu的内核, 如果按照官方的说明, 那么一般是编译出deb包, 然后安装,但是如果我们改了驱动, 或者内核那么我们很可能只想编译bzImage而不是重新生成deb包.一般的编译步骤参考Ubuntu 的wiki:Kernel CompileBuildYourOwnKernel基本步骤如下安装需要的软件包, 或者kernel source:a原创 2017-05-03 16:03:29 · 2086 阅读 · 0 评论 -
imx6ul蓝牙语音识别项目之1:硬件准备
硬件在一些时间的延误后,终于收到了顺丰过来的板子,本以为需要到年后了。听说板子的延误是因为发现了一个小问题。收到板子后打开看到的是盒子包装,看起来“高大上”的感觉:打开,里面有一张V3 软件的BSP, 网线, OTG USB 线,以及电源线:核心的板子看起来不错,至少做工和基本可见的布线很漂亮:但是板子的尺寸比我想象的小。软件在将关盘拷贝到电脑后,发现结构和以前IoT和Industry里面是类似的...原创 2018-07-02 16:25:20 · 1987 阅读 · 0 评论 -
imx6ul蓝牙语音识别项目之2: 添加蓝牙Controller支持
蓝牙架构在Linux中蓝牙的stack分层如下:从总体上看分为两层, 一个在内核态,一个在用户态,内核态。在内核态中的部分暴露了一个特殊的Socket给用户态,然后用户态使用命令+参数的格式传递给内核态。而如果硬件有反馈信息,一般是事件,那么会有callback消息上来。硬件说明对于蓝牙,一般都是模组,例如有些是BT Wifi模组,即BT-Wifi为一体的模组。这种模组一般是通过UART,SDIO...原创 2018-07-02 16:28:38 · 1243 阅读 · 0 评论 -
imx6ul蓝牙语音识别项目之3:用户态蓝牙配置
stack的划分在前面的文章中,我们已经配置好了内核态对蓝牙的支持, 包括驱动以及内核态的stack。Linux蓝牙的stack为BlueZ, 参考前面的文章的图片,可以知道,内核态和用户态使用的是MGMT接口来通讯。底层主要负责和Controller数据的传输,而数据的传输接口一般为USB,SDIO以及串口。具体而言,功能如下:其中个人认为比较复杂的是SMP,内核态中对:控制数据这两类信息通过s...原创 2018-07-02 16:31:31 · 1115 阅读 · 0 评论 -
使用Buildroot与Qemu学习ARM linux IIC驱动
Buildroot配置下载最新的buildroot,然后进入 buildroot中进行配置 make mini2440_defconfig make xconfig进入到Kernel配置与选择子项目中进行版本选择,使用4.04版本的Linuxkernel,因为低版本的3.3内核不合适学习的3.4.2内核的I2C驱动。如下图:配置完成后save,关闭。原创 2015-11-26 08:39:31 · 4547 阅读 · 0 评论 -
DTB Device Tree 视频教程 - 以瑞萨Cortex-A15为例
上个月初在组内进行了Device Tree 的知识共享交流,主要讲解了一下:Device Tree引入导致的变更如何在dts中添加一个device node与Device Tree相关的API有哪些下面是思维导图的截图:最后是大家需要的视频教程,鉴于个人知识浅薄,如果有错误,请大家多多包涵与评论指出。点击访问:百度网盘连接地址 密码:2cpd原创 2015-10-22 18:35:24 · 4122 阅读 · 5 评论 -
nfs server构建与测试
1: 在Ubuntu 11.10下,直接输入: sudo apt-get install nfs-kernel-server 在Ubuntu下如果不知道软件(资源包)的名字,可以使用几种方法解决: 一直我都是用第一种: 进入software center中然后,输入关键字(eg: nfs)搜索原创 2011-11-22 20:07:14 · 1151 阅读 · 0 评论 -
① 根文件系统直接编译进内核
直接用TQ2440提供的源码linux2.6.30.4, 然后用其提供的busybox.1.16.0在(make menuconfig中)没有选中Initial Ram... 时是这样的看到这里,大约知道除了根文件系统有问题外,其他没有问题. 将文件系统编译进去,遇见问题:make zImage ARCH=arm后,下载zImage.bin到TQ24原创 2011-11-21 10:57:59 · 5177 阅读 · 0 评论 -
不同主机间传输文件可用方法List --- 娱乐一下 欢迎补充
Linux Windows 1 QQ WebQQ QQ任意版本(Web/TM)2 飞鸽 iptux 飞鸽任意版本3 FTP Linux原创 2011-12-17 13:50:17 · 967 阅读 · 0 评论 -
Linux驱动开发之内存管理基础
内存管理主要分为:物理内存管理虚拟内存管理物理内存管理页物理内存以页(page frame)为单位,一般为4K,如果是4G的内存那么,将会有一个大小为4G/4K=1M的数组mem_map,每一项保存着每一页的地址。ZoneZone是一些连续物理页的合集,参看下面的图3-2。将物理页分成了3个Zone区:ZONE_HIGHMEM:物理内存高于8原创 2015-10-10 11:39:39 · 1360 阅读 · 0 评论 -
多线程中的Double Close与System Call Hook
同事在拿到修改后的weston相关的多线程代码中,怀疑有double close。期望我可以帮忙确定出来。修改后的weston,我们拿到的只有一个executive elf文件,并没有source code。对于这种hook要求,一般有三种方法,但是各不相同:修改kernel中的close system call:要求可以编译内核wrap libc中的close():可以直原创 2015-10-10 10:56:00 · 1608 阅读 · 0 评论 -
u-boot与linux下网卡MAC地址的更改
前言①假设有许多开发板,连接到了同一个路由器中,而路由器的dhcpd是根据MAC地址来分配一个固定的IP地址,那么就需要为每一个开发板设定一个不同的MAC地址从而获取不同的IP地址。②MAC地址是需要购买的(参考点1),在产品出厂之前,都需要给板子一个MAC地址(如果有对应的设备,例如网卡,Wifi)。且这个MAC地址在出厂后,我们并不期望被更改。下面简述了嵌入式产品中如何原创 2015-10-10 11:20:42 · 16740 阅读 · 1 评论 -
SysV Init
RunLevel在提及Unix System-V Init之前,让我们想一想Windows的安全模式与Android的不同启动模式。①在Windows启动的时候,可以按下F8,然后选择“安全模式”启动,而安全模式启动又分为带有网络和不适用网络的安全启动。显然,以不同的安全模式启动,系统在初始化时做的事情也不一样,带有网络的安全模式需要额外的初始化网卡等工作。我不了解Windows加原创 2015-10-10 11:31:52 · 1564 阅读 · 0 评论 -
SoC performance benchmark
PrefaceThis article would illustrate the programs used to benchmark the SoC(include the SMP) performance, also the step to build and run the benchmark programs. And at the end, I give 2 scripts t原创 2015-10-10 11:27:25 · 2742 阅读 · 0 评论 -
Linux设备驱动开发基础之互斥与同步基础
一些概念竟态:多个执行路径对同一资源进行操作时可能引发的资源混乱行为(①)。执行路径为并发源。临界区:对共享资源的访问代码片段。临界区只能是在一个进程内部而无法跨进程,因为其不是一个对象,我们无法定义一个临界区对象来告知其他进程,而像Mutex和SpinLock都可以。参考这篇文章。中断和抢占:一般都是在中断需要返回前会调用重新调度函数,如果没有禁止抢占,那么就会被高优先级的进程抢占。有的原创 2015-10-10 11:37:20 · 724 阅读 · 0 评论 -
嵌入式开发中常用商用软件的FreeWare替换
前段时间,找了些开发过程中版权软件的FreeWare(可以商用),大家可以推荐一些其他好用的软件。ItemCatalogCommercial SWAlternative1Office与邮件客户端MS OfficeoutlookOpenOfficeWindows Live mail,Thunderbird,原创 2015-10-10 11:09:41 · 1563 阅读 · 0 评论 -
imx6ul蓝牙语音识别项目之5:BLE基础与imx6ul上的BLE外设的使用
前面我们准备好了下面这些软件:BlueZ 5.49及其运行需要的组建百度语音识别及其运行需要的依赖库Controller的驱动并编译好了测试代码。 那么接下来,我们就需要和语音遥控器连接了,但是在此之前需要对BLE有所了解。BLE VS Wifi VS ZigBeeBLE属于Personal network, 工作距离近, 一般在10m内。BLE协议架构Core Specification 与 a...原创 2018-07-02 16:37:59 · 1506 阅读 · 0 评论