原创 Linux中斷子系統之-softirq和tasklet

1. 概述 中斷子系統中有一個重要的設計機制,那就是Top-half和Bottom-half,將緊急的工作放置在Top-half中來處理,而將耗時的工作放置在Bottom-half中來處理,這樣確保Top-half能儘快完成處理,那麼爲什

原创 調整linux內核打印信息級別

1. 查看當前printk打印消息的log等級 # cat /proc/sys/kernel/printk # 7 4 1 7 “7 4 1 7” 分別對應console_loglevel、default_message_loglevel

原创 can通信調試

1、查看是否有can設備        ipaddr 2、關閉can設備       ip link setcan0 down 3、配置波特率 設置CNA0的波特率爲500K,在設置前需要先把CAN0關閉了 ip link set can

原创 處理器一條指令所經歷的時鐘週期

對於軟件工程師來說,印象流我們可能會覺得執行一條指令一個時鐘週期嘛,一條指令算是一個最小的原子操作,不可能再細分了吧。 如果看了《arm體系架構》等書籍就會了解到,這個問題可沒這麼簡單了,因爲處理器設計中使用了流水線技術。 一

原创 linux 下改變文件羣組

sudo chown -R usrname filename sudo chgrp -R usrname filename

原创 linux下批量更改文件名

rename -v 's/chestnut/xx/' * 將當前目錄下文件名中的 chestnut改爲xx rename -v 's/ipcam/yy/' * 將當前目錄下文件名中的 ipcam改爲yy

原创 sensor 驅動與調試小結

目錄:前言驅動篇:1、 Micron sensor ISP的原理圖2、 sensor 的原理框架3、Sensor 的初始化步驟4、Preview時候的sensor設置5、Capture時候的sensor設置6、工頻干擾的調試7

原创 tolower()和toupper()

C 庫函數 int tolower(int c) 把給定的字母轉換爲小寫字母。 聲明 下面是 tolower() 函數的聲明。 int tolower(int c); 參數 c -- 這是要被轉換爲小寫的字母。 返回值 如果 c 有相對

原创 C 宏 - assert()和rand()函數

C 庫宏 void assert(int expression) 允許診斷信息被寫入到標準錯誤文件中。換句話說,它可用於在 C 程序中添加診斷。 聲明 下面是 assert() 宏的聲明。 void assert(int express

原创 理解Linux內核搶佔模型

當配置Linux內核的時候,我們可以選擇一些參數,這些參數能影響系統的行爲。你可以用不同的優先級、調度類和搶佔模型來工作。正確地選擇這些參數是非常重要的。 本文將論述不同的搶佔模型如何影響用戶和系統的行爲。 當你使用 make menuc

原创 strtoul()函數

unsigned long int strtoul(const char *str, char **endptr, int base) 把參數 str 所指向的字符串根據給定的 base 轉換爲一個無符號長整數(類型爲 unsigned

原创 linux命令行參數解析之getopt_long()函數

getopt_long支持長選項的命令行解析,函數中的參數argc和argv通常直接從main()的兩個參數傳遞而來。 頭文件 #include<getopt.h> 函數原型 int getopt_long(int argc,char

原创 Linux之strsep函數

strsep函數用於分割字符串,函數原型如下: char *strsep(char **s, const char *ct); s爲指向欲分割的字符串,ct爲分隔符,函數將返回分隔符前面的字符串,s將指向分隔符之後的字符串,實例如下: #

原创 cv2x雙目 sdk開發環境搭建

cv2x_linux_2.5.1_20190929.tar.bz2 ==================================================== Patch to SDK2.5 (cv2x_linux_sdk_

原创 important sdk folders