作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台 tiny4412 ADK Linux-4.9 概述 前面一篇博文基於tiny4412的Linux內核移植 --- 实例学习中断背后的知识(1)结合示例分析了一下新版kernel引入设备树和irq domain后中断幕后的一些知识,其中的示例只是使用gpio中断的一种方式,此外,还有一种,就像博文 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(1)中描述的那样,这种实现方式又是如…
作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台 tiny4412 ADK Linux-4.9 概述 前面几篇博文列举了在有设备树的时候,gpio中断的用法示例.下面我们尝试分析一下Linux内核是如何做到的,如果哪写的有问题,欢迎大家批评指正,谢谢. 还是以GPIO中断为例分析,对于tiny4412,gpio中断可以分为两种,外部中断和普通的GPIO中断 外部中断:按键中断分别使用了外部中断XEINT26.XEINT27.XEINT28以及XEI…
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 簡介 前面我們實現了一種設備樹下中斷的使用方法,下面介紹第二種,這種方式本質上跟前者是一樣的,使用的是platform_bus的接口. 爲了便於比較,還是以底板上面上的四個按鍵爲例分析,其中前兩個按鍵使用第二種方式,後兩個按鍵使用第一種方式. 正文 原理圖可以參考博文:基於tiny…
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 概述 這篇博客以一個簡單的led燈實驗演示一下在含有設備樹.pinctrl時的gpio控制方法. 正文 我們以控制tiny4412上的LED1和LED2爲例,使用的GPIO是GPM4_0和GPM4_1對應的原理圖如下:…
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 概述 這篇博客以一個簡單的按鍵中斷來演示一下有了設備樹後的中斷的使用,其中涉及到新版kernel的pinctrl和gpio子系統. 正文 在tiny4412的底板上有四個key,如下: 上圖中,在沒有按鍵的時候,對應的GPIO是被拉高的,當按下鍵的時候,對應的GPIO被拉低,從而產…
1. Linux是類Unix系統,但他不是Unix. 儘管Linux借鑑了Unix的許多設計並且實現了Unix的API(由Posix標準和其他Single Unix Specification定義的),但Linux沒有像其他Unix變種那樣直接使用Unix的源代碼. 2. Linux系統的基礎是內核.C庫.工具集和系統的基本工具,如登錄程序和Shell. 3. 操作系統是指在整個系統中負責完成最基本功能和系統管理的那些部分.這些部分應該包括內核.設備驅動程序.啓動引導程序.命令行Shell或者其…
原文网址:http://tc.chinawin.net/it/os/article-2512b.html 一 概述 Linux內核中gpio是最簡單,最常用的資源(和interrupt ,dma,timer一樣)驅動程序,應用程序都能夠通過相應的接口使用gpio,gpio使用0-MAX_INT之間的整數標識,不能使用負數,gpio與硬件體系密切相關的,不過linux有一個框架處理gpio,能夠使用統一的接口來操作gpio.在講gpio核心(gpiolib.c)之前先來看看gpio是怎麼使用的 二…
操作系統3-內存管理(Linux系統的內存管理方法) 9.Linux系統的內存管理方法 Linux採用"按需調頁"算法,支持三層管理策略.由於Intel CPU在硬件級提供了段式存儲管理和二層頁式存儲管理,Linux作為軟件,必須與之兼容.所以Linux實際上放棄了段式存儲管理,將第二層的頁式管理與第一層的頁式管理合併,因此整整發揮作用的是以頁目錄和頁表為中心的數據結構和函數. 9.1 Linux的分頁管理機制 在Linux中,每個進程都可以訪問4GB的線性虛擬內存空間,注意可以訪問的…
Linux內核中常用的一些延時方法 這些方法在以下路徑下定義:kernel/include/linux/delay.h #ifndef _LINUX_DELAY_H #define _LINUX_DELAY_H /* * Copyright (C) 1993 Linus Torvalds * * Delay routines, using a pre-computed "loops_per_jiffy" value. */ #include <linux/kernel.h>…
國防科學技術大學發布了RoboCup中型組仿真平臺,基於ROS和Gazebo設計. 該平臺可以用於多機器人協作研究.參考資料如下: ROS新聞:1    http://www.ros.org/news/2016/09/a-simulation-system-based-on-ros-and-gazebo-for-multi-robot-cooperation-research.html Github   :1    https://github.com/nubot-nudt 2    https…