原创 C鏈表的Demo

#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> typedef struct list { int data;

原创 一 linux虛擬內存、MMU、分頁的基本原理

整體目錄 一 linux虛擬內存、MMU、分頁的基本原理 二 OOM打分因子、oom_adj以及oom_score 三 頁的alloc與free、Buddy算法以及CMA 四 page_fault、內存IO交互、VSS、LRU

原创 二 OOM打分因子、oom_adj以及oom_score

整體目錄 一 linux虛擬內存、MMU、分頁的基本原理 二 OOM打分因子、oom_adj以及oom_score 三 頁的alloc與free、Buddy算法以及CMA 四 page_fault、內存IO交互、VSS、LRU

原创 Linux內核動態模塊的Makefile編寫

export ARCH=arm export CROSS_COMPILE=/home/toolchain/usr/bin/arm-buildroot-linux-gnueabihf- #工具鏈路徑 ifeq ($(KERNEL

原创 Max9286上層應用程序

1:抓取一幀圖像,然後在tmp目錄下有video.yuv,拷貝到windows下用yuvplayer播放,格式選擇 YUY2 2: 要切換分辨率, #define MY_WIDTH 1024 #define MY_HEIGHT 7

原创 三 頁的alloc與free、Buddy算法以及CMA

整體目錄 一 linux虛擬內存、MMU、分頁的基本原理 二 OOM打分因子、oom_adj以及oom_score 三 頁的alloc與free、Buddy算法以及CMA 四 page_fault、內存IO交互、VSS、LRU

原创 四 page_fault、內存IO交互、VSS、LRU

整體目錄 一 linux虛擬內存、MMU、分頁的基本原理 二 OOM打分因子、oom_adj以及oom_score 三 頁的alloc與free、Buddy算法以及CMA 四 page_fault、內存IO交互、VSS、LRU

原创 移植uboot-分析uboot啓動流程(詳解)

本節總結: uboot啓動流程如下: 1)設置CPU爲管理模式 2)關看門狗 3)關中斷 4)設置時鐘頻率 5)關mmu,初始化各個bank 6)進入board_init_f()函數 (初始化定時器,GPIO,串口等,劃分內存區域

原创 五 DMA及Cache一致性

整體目錄 一 linux虛擬內存、MMU、分頁的基本原理 二 OOM打分因子、oom_adj以及oom_score 三 頁的alloc與free、Buddy算法以及CMA 四 page_fault、內存IO交互、VSS、LRU

原创 Uboot啓動流程分析

uboot的第一階段做了哪些工作 (1)構建異常向量表 (2)設置CPU爲SVC模式 (3)關看門狗 (4)開發板供電置鎖 (5)時鐘初始化 (6)DDR初始化 (7)串口初始化並打印”OK” (8)重定位 (9)建立映

原创 Emacs編輯器的配置及快捷鍵

快捷鍵: ctrl + ' 選中某個字符,可上下拉選取 ctrl + \ 切換輸入法 alt + . 函數跳轉 alt + * 返回函數跳轉前狀態 alt + 1/2/3 函數收縮和展開 ctrl + x

原创 IRQ中斷以及tasklet的示例代碼

drivers/crypto/atmel-sha.c IRQ中斷以及tasklet的示例代碼 /* * Cryptographic API. * * Support for ATMEL SHA1/SHA256 HW acceler

原创 Yocto工具鏈下製作mkfs.ext4命令

本人蔘考了兩篇文章,分別爲製作嵌入式文件系統工具 mkfs.ext2 mkfs.ext3 mkfs.ext4 和 e2fsprogs 編譯安裝 1. 下載源碼包e2fsprogs(下載包地址),本人下載的版本是1.43.4。 2.

原创 修改Linux內核啓動logo

本文轉自修改Linux內核啓動logo 創建logo圖片: 1、內核默認的logo圖片爲drivers/video/logo/logo_linux_clut224.ppm file logo_linux_clut224.ppm 先得

原创 輸入子系統匹配過程之list_for_each_entry()函數分析

轉載的文章:輸入子系統匹配過程之list_for_each_entry()函數分析 重點: list_for_each_entry()宏函數分析: /** * list_for_each_entry - iterate