原创 【轉】creat_mapping

http://blog.csdn.net/huyugv_830913/article/details/5884628   1 ARM920T的MMU工作原理   下圖顯示了MMU地址轉化關係 一級表項的地址(pmd) = ( (TLB

原创 各種棧瞭解下

本文鏈接:https://blog.csdn.net/yangkuanqaz85988/article/details/52403726 轉載請註明出處: http://kyang.cc/ 棧是什麼?棧有什麼作用? 首先,棧 (stack

原创 linux 之i2c 24FC256驅動

          基於zynq平臺調試 24FC256驅動。需要注意的是此款eeprom是32K x 8 (256 Kbit)。爲了支持此款eeprom的尋址範圍,地址需要16位來表示。           1.先看此款eeprom的設

原创 zynq MIO驅動

給了原理圖,該怎麼把MIO管腳配置成gpio模式?怎麼做輸入輸出?做輸出怎麼發拉高拉低呢? 比如下圖原理圖,你怎麼把ps的MIO20和MIO21配置起來呢? 1.首先你通過ug585 datasheet 要找到MIO20和MIO21所對

原创 內存踩踏解決

上面文章寫了內存踩踏的原因:由於malloc的heap內存佔到了irq的stack,導致出現內存重疊。主要原因是用到了uc2的malloc函數,這個malloc是由c庫來實現的,當malloc太大,heap區域的不夠大的時候,malloc

原创 linux 內核哈希鏈表

首先了解下相關的數據結構: struct hlist_node { struct hlist_node *next, **pprev; }; struct hlist_head { struct hlist_node *first

原创 zynq gic中斷控制器

先了解一些gic 中斷控制器(Zynq中的中斷控制器基於ARM GIC v1.0版本)。左面可以看出中斷的幾種分類: 1. SGI:軟件產生的中斷。 2.PPI:私有中斷。 3.SPI:共享中斷。 1.SGI(Software Gene

原创 DS5解決 內存踩踏

最近發現個問題:malloc出來的幾組值(UINT32)總是發生變化,總有地方改他。 硬件平臺:zynq 7045。軟件平臺 ucos II操作系統。 這種問題定位起來非常費勁,有可能數組越界,有可能野指針等等。 不過運氣不錯,我找到了神

原创 DEVICE_ATTR

使用DEVICE_ATTR,可以在sys fs中添加“文件”,通過修改該文件內容,可以實現在運行過程中動態控制device的目的。 這樣方便用戶空間調試。 #include <linux/kernel.h> #include <linu

原创 lru 雙向鏈表+哈希

/* LRUCacheImpl.c */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include"LRUCache.h" #include"LRUCacheImp

原创 i2c_register_driver

打開打印後,如下: 1. bus: 'i2c': add driver at24 2. bus: 'i2c': driver_probe_device: matched device 0-0056 with driver at24 3.

原创 內存泄漏工具kmemleak 使用方法

1.kmemleak使用方法 https://www.cnblogs.com/arnoldlu/p/8568090.html 2.英文手冊 https://www.kernel.org/doc/html/latest/dev-tools/

原创 arm linux 系統調用

操作系統爲在用戶態運行的進程與硬件設備進行交互,提供操作系統的系統服務,提供了一組接口。在應用程序和硬件之間,提供內核的系統-服務設置一個額外層具有很多最優點。 首先,這使得編程更加容易,把用戶從學習硬件設備的低級編程特性中解放出來。 其

原创 initcall 機制

1.pa的pinctrl申請及初始化 pa_init(np); nufront_sta_of_probe nufront_sta_init 2.驅動註冊 late_initcall(nufront_sta_init); #

原创 linux內存malloc【轉】

Linux的虛擬內存管理有幾個關鍵概念: Linux 虛擬地址空間如何分佈?malloc和free是如何分配和釋放內存?如何查看堆內內存的碎片情況?既然堆內內存brk和sbrk不能直接釋放,爲什麼不全部使用 mmap 來分配,munmap