摘要:
方法跟交叉编译Python-2.7.13到ARM(aarch32)平台基本一样, 不同的地方只是把工具链换成编译aarch64的工具链,这里可以参考用qemu搭建aarch64学习环境. 创建目录: 下面是配置、编译和安装的脚本: 1、配置: mk1_conf.sh 2、编译: mk2_make.s
阅读全文
posted @ 2017-03-20 14:12
dolinux
阅读(5826)
推荐(0)
摘要:
作者:彭东林 邮箱:
[email protected] QQ:405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: http://chuna2.787528.xyz/pengdonglin137/p/6442583.ht
阅读全文
posted @ 2017-03-20 13:38
dolinux
阅读(9000)
推荐(0)
摘要:
作者信息 作者:彭东林 邮箱:
[email protected] QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: gcc 具
阅读全文
posted @ 2017-02-25 20:04
dolinux
阅读(12295)
推荐(2)
摘要:
作者信息 作者:彭东林 邮箱:
[email protected] QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: gcc 具
阅读全文
posted @ 2017-02-25 19:57
dolinux
阅读(8263)
推荐(1)
摘要:
作者信息 作者: 彭东林 邮箱:
[email protected] QQ: 405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: ar
阅读全文
posted @ 2017-02-25 19:51
dolinux
阅读(3069)
推荐(0)
摘要:
作者信息 作者: 彭东林 邮箱:
[email protected] QQ: 405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: gc
阅读全文
posted @ 2017-02-22 21:57
dolinux
阅读(21218)
推荐(0)
摘要:
技术专栏 ARMv8/ARMv9架构入门到精通 ARMv8.x特性及架构学习 Learn the Architecture https://www.arm.com/ ARM新版文档链接 https://developer.arm.com/docs Arm A-profile architecture
阅读全文
posted @ 2017-02-15 10:54
dolinux
阅读(2281)
推荐(2)
摘要:
作者:彭东林 邮箱:
[email protected] QQ:405728433 平台 tiny4412 ADK Linux-4.9 概述 前面一篇博文基於tiny4412的Linux內核移植 实例学习中断背后的知识(1)结合示例分析了一下新版kernel引入设备树和irq domain后
阅读全文
posted @ 2017-01-26 00:27
dolinux
阅读(2934)
推荐(1)
摘要:
作者:彭东林 邮箱:
[email protected] QQ:405728433 平台 tiny4412 ADK Linux-4.9 概述 前面几篇博文列举了在有设备树的时候,gpio中断的用法示例。下面我们尝试分析一下Linux内核是如何做到的,如果哪写的有问题,欢迎大家批评指正,谢谢。
阅读全文
posted @ 2017-01-25 12:07
dolinux
阅读(5916)
推荐(1)
摘要:
作者:彭東林 郵箱:
[email protected] QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 (https://github.com/pengdonglin137/linux-4.9 ) u-b
阅读全文
posted @ 2017-01-02 00:18
dolinux
阅读(6175)
推荐(2)
摘要:
作者 彭東林
[email protected] 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 簡介 前面我們實現了一種設備樹下中斷的使用方法,下面介紹第二種,這種方式本質上跟前
阅读全文
posted @ 2016-12-25 23:27
dolinux
阅读(1106)
推荐(0)
摘要:
有时我们需要在/sys下面创建一些目录, 下面给出了一个示例。 在加载驱动模块后, 在/sys下面会创建一个名为sysfs_demo的目录,并在其中在创建几个文件和目录。 这里用到的两个函数分别是: kobject_create_and_add 和 sysfs_create_group。前一个函数用
阅读全文
posted @ 2016-12-24 15:18
dolinux
阅读(7112)
推荐(0)
摘要:
作者:彭东林 邮箱:
[email protected] 在阅读kernel代码的时候,总是看到有很多驱动都在第一行定义pr_fmt,闲来没事,分析了一下, 发现,确实挺方便的。下面记录分享一下。 我们知道,在驱动中可以使用dev_dbg来输出log,在输出的log中会有一些额外的信息,如所
阅读全文
posted @ 2016-12-21 22:50
dolinux
阅读(6476)
推荐(3)
摘要:
点击jeffy-vim-v3.2下载:增加了vim-gutentags 插件,支持tags自动生成。 如果遇到下面的报错: Error detected while processing /home/pengdonglin/.vim/bundle/jeffy-plugins/plugin/proje
阅读全文
posted @ 2016-11-21 12:51
dolinux
阅读(524)
推荐(0)
摘要:
作者 彭東林
[email protected] 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 概述 這篇博客以一個簡單的led燈實驗演示一下在含有設備樹、pinctrl時的gp
阅读全文
posted @ 2016-11-20 23:09
dolinux
阅读(1896)
推荐(0)
摘要:
作者 彭東林
[email protected] 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 概述 這篇博客以一個簡單的按鍵中斷來演示一下有了設備樹後的中斷的使用,其中涉及到新
阅读全文
posted @ 2016-11-20 16:04
dolinux
阅读(5404)
推荐(0)
摘要:
作者信息 彭東林 郵箱:
[email protected] 平臺 Linux-4.4.4 uboot使用的是友善自帶的(爲了支持uImage和設備樹做了稍許修改) 概述 這篇博客主要用於匯總一下調試方法。 正文 1. dnw下載 目前我將uboot燒寫到SD卡中,然後使用dnw將kern
阅读全文
posted @ 2016-11-19 15:19
dolinux
阅读(1218)
推荐(0)
摘要:
下载链接: git clone git://github.com/barzooka/robert.git 或者 http://files.cnblogs.com/files/pengdonglin137/robert.tar.gz
阅读全文
posted @ 2016-11-18 17:54
dolinux
阅读(859)
推荐(0)
摘要:
由于使用wiz官方的方法编译出的客户端无法输入中文,而用apt-get安装的wiz版本又太老, 所以我找到了2.3.2.4版本的wiznote, 用着还可以(支持代码高亮),下面是对应的deb包的链接: 下面是64位的安装包: https://launchpad.net/~wiznote-team/
阅读全文
posted @ 2016-11-15 19:54
dolinux
阅读(1381)
推荐(0)
摘要:
在使用設備樹的時候, 有時會遇到下面的問題. 在設備樹中配置的屬性如下: fusb301,init-mode = <0x20>; 但是在驅動中讀出的卻是: rc = of_property_read_u8(dev_node, "fusb301,init-mode", &data->init_mode
阅读全文
posted @ 2016-11-08 20:10
dolinux
阅读(8982)
推荐(0)
摘要:
下面說一下在用戶空間調用open/close/dup跟驅動中的open和release的對應。 下面是測試驅動: 下面是用戶空間測試代碼: 下面是輸出的log: 通過分析log,我們得出結論, 用戶空間每調用一次open,驅動中的open都會被執行一次,而在調用dup的時候,只是將struct fi
阅读全文
posted @ 2016-10-23 18:21
dolinux
阅读(495)
推荐(0)
摘要:
在閱讀Linux內核代碼的時候,會經常遇到下面的幾個宏函數: IS_ENABLED 這個宏最爲常見 IS_BUILTIN IS_MODULE IS_REACHABLE 這幾個宏函數是在文件include/linux/kconfig.h中定義的,如下: 首先需要有一些基礎知識. 我們知道,在進行內核配
阅读全文
posted @ 2016-10-14 14:45
dolinux
阅读(5078)
推荐(1)
摘要:
参考博客: http://blog.csdn.net/mcy_cool/article/details/10178841 涉及到的源码: http://files.cnblogs.com/files/pengdonglin137/libusb_utls.tar.gz,解压后会得到两个文件:libus
阅读全文
posted @ 2016-10-01 18:25
dolinux
阅读(1290)
推荐(0)
摘要:
原子操作1. 原子操作可以保證指令以原子的方式執行——執行過程不被打斷。2. 兩個原子操作絕對不可能併發地訪問同一個變量。大多數體繫結構會提供支持原子操作的簡單算數指令,即使沒有,也會爲單步執行提供鎖內存總線的指令,確保其他改變內存的操作不會同時發生。3. 原子操作分爲兩種,一種是針對整數的,另一種是針對單獨的位。4. 針對單獨位的操作,提供了一套原子操作和一套非原子操作,非原子操作函數的特點函數...
阅读全文
posted @ 2016-09-04 19:48
dolinux
阅读(303)
推荐(0)
摘要:
1. 中斷處理程序的侷限 以異步方式執行,並且有可能打斷其他重要代碼。所以爲了避免被打斷的代碼的停止時間過長,中斷處理程序應該執行得越快越好 如果當前有一個中斷處理程序在運行,在最好的情況下(如果IRQF_DISABLED沒有被設置),與該中斷同級的其他中斷會被屏蔽,最壞的情況下(設置IRQF_DI
阅读全文
posted @ 2016-09-04 16:02
dolinux
阅读(240)
推荐(0)
摘要:
1. 隨着2.6版內核的出現,Linux內核已經發展成搶佔式內核,如果不加保護,調度程序可以在任何時刻搶佔正在運行的內核代碼,重新調度其他的進程執行 2. 臨界區或者臨界段:訪問和操作共享數據的代碼段 3. 如果兩個執行線程(指代的是任何正在執行的代碼,如一個在內核執行進程、一個中斷處理程序或者內核
阅读全文
posted @ 2016-09-04 16:02
dolinux
阅读(183)
推荐(0)
摘要:
可以參考《深入Linux內核架構》第二章閱讀筆記。 1. 調度程序的職責 負責決定那個進程投入運行,何時運行以及運行多長時間 在一組處於可運行狀態的進程中選擇一個來執行,這是調度程序的基本工作 負責決定那個進程投入運行,何時運行以及運行多長時間 在一組處於可運行狀態的進程中選擇一個來執行,這是調度程
阅读全文
posted @ 2016-09-04 16:01
dolinux
阅读(253)
推荐(0)
摘要:
1. 系統調用的作用 爲用戶空間提供了一種硬件的抽象接口。如Linux的“萬物皆文件”的思想,APP讀取文件不用關心磁盤或者文件系統的類型 保證系統的穩定和安全。因爲內核是作爲Hardware跟APP之間的中間人,可以避免APP不正確地使用Hardware,竊取其他進程的資源,或其他危害系統的事情。
阅读全文
posted @ 2016-09-04 16:01
dolinux
阅读(558)
推荐(0)
posted @ 2016-09-04 16:01
dolinux
阅读(158)
推荐(0)
摘要:
1. 異常和中斷 異常:必須考慮與處理器時鐘同步,由軟件產生,亦稱爲同步中斷。如除零異常和缺頁異常 中斷:由硬件產生的異步中斷 異常:必須考慮與處理器時鐘同步,由軟件產生,亦稱爲同步中斷。如除零異常和缺頁異常 中斷:由硬件產生的異步中斷 2. 中斷處理程序 中斷處理程序是被內核調用來響應中斷的,運行
阅读全文
posted @ 2016-09-04 16:01
dolinux
阅读(1506)
推荐(0)
摘要:
1. 內核源碼樹的根目錄描述 加密API 2. 在修改過內核配置文件.config後,或者用已有的配置文件配置新的代碼樹的時候,使用下面的命令驗證和更新配置 3. 如果配置了內核選項CONFIG_IKCONFIG和CONFIG_IKCONFIG_PROC,那麼就會把完整的壓縮過的內核配置文件存放在/
阅读全文
posted @ 2016-09-04 16:00
dolinux
阅读(945)
推荐(0)
摘要:
可以參考《深入Linux內核架構》第二章閱讀筆記。 1. 進程 process 程序本身並不是進程,進程是處於執行期的程序以及相關的資源的總稱。如:可執行代碼段、打開的文件、掛起的信號、內核內部數據、處理器狀態、一個或多個具有內存映射的內存地址空間以及一個或多個執行線程、存放全局變量的數據段等等。
阅读全文
posted @ 2016-09-04 16:00
dolinux
阅读(438)
推荐(0)
摘要:
1. Linux是類Unix系統,但他不是Unix。 儘管Linux借鑑了Unix的許多設計並且實現了Unix的API(由Posix標準和其他Single Unix Specification定義的),但Linux沒有像其他Unix變種那樣直接使用Unix的源代碼。 2. Linux系統的基礎是內核
阅读全文
posted @ 2016-09-04 15:55
dolinux
阅读(365)
推荐(0)
摘要:
在Linux系統中可以通過memblock來設置系統保留物理內存,防止這些內存被內存管理系統分配出去。 作者: 彭東林 郵箱:
[email protected] 平臺 硬件平臺: TQ2440 Linux版本:Linux 3.14.45 說明 1. 在tq2440上,物理內存的起始地址是
阅读全文
posted @ 2016-09-03 15:33
dolinux
阅读(4883)
推荐(1)
摘要:
这篇博客总结的也不错: 8 Tips to help you work better with Git git常用及进阶命令总结 Git与Repo入门 45 个 GIT 经典操作场景,专治不会合代码 git-cheat-sheet.pdf Git tips and tricks Git远程库代码回退
阅读全文
posted @ 2016-08-27 20:03
dolinux
阅读(4270)
推荐(0)
摘要:
作者:彭東林 郵箱:
[email protected] 日期:2016-08-26 18:04:14 在進行Linux驅動開發時經常見到使用pr_debug和dev_dbg打印驅動的log,如果在內核配置時選擇了CONFIG_DYNAMIC_DEBUG宏,那麼就可以利用類似下面的命令打開對
阅读全文
posted @ 2016-08-25 21:07
dolinux
阅读(16761)
推荐(0)
摘要:
在Linux内核中有一个宏__stringify,在include/linux/stringify.h定义如下: 其作用实际上就是 把 x 直接转换为字符串。其返回值就是字符串,而不是变量名。 用法1: 假设我们这样使用 __ATTR: __ATTR(var_name, 777, show_func
阅读全文
posted @ 2016-08-19 18:52
dolinux
阅读(1132)
推荐(0)
摘要:
之前我是去Android官方网站下载最新Android代码,但是这种方法需要FQ,而且有时候FQ又不太方便,今天我发现一个不错的网站,是清华大学搞的,跟Android官方的代码基本保持同步,而且下载方法跟Android官方的也类似。下面是网站地址: https://mirrors.tuna.tsin
阅读全文
posted @ 2016-04-16 21:15
dolinux
阅读(912)
推荐(1)
摘要:
作者信息 作者: 彭东林 邮箱:
[email protected] QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Bo
阅读全文
posted @ 2016-03-07 23:01
dolinux
阅读(2858)
推荐(1)
摘要:
阅读全文
posted @ 2016-03-06 18:09
dolinux
阅读(10711)
推荐(3)