360doc--My_ARM的文章
360doc--My_ARM的文章
http://www.hbhlny.cn/rssperson/15561569.aspx
360doc (http://www.hbhlny.cn)
zh-cn
360doc--個(gè)人圖書(shū)館
-
arm-linux-objcopy
http://www.hbhlny.cn/content/12/1213/20/7647770_253868555.shtml
2017/6/30 15:30:25
arm-linux-objcopy.一. arm-linux-objcopy被用來(lái)復(fù)制一個(gè)目標(biāo)文件的內(nèi)容到另一個(gè)文件中,可用于不同源文件的之間的格式轉(zhuǎn)換。Arm-linux-objcopy –o binary –S elf_file bin_file.用來(lái)指明源文件的格式,bfdname是BFD庫(kù)中描述的標(biāo)準(zhǔn)格式名,如果沒(méi)指明,則arm-linux-objcopy自己分析。4.-F bfdname 同時(shí)指明源文件,目的文件的格式。
-
Linux Call Trace原理分析
http://www.hbhlny.cn/content/13/0403/19/7044580_275795568.shtml
2017/6/29 11:29:31
Linux Call Trace原理分析。void show_regs(struct pt_regs * regs)函數(shù)中,會(huì)調(diào)用show_stack函數(shù),這個(gè)函數(shù)會(huì)打印系統(tǒng)的內(nèi)核態(tài)堆棧。在GPR1指向的??臻g,第一個(gè)DWORD為上一級(jí)調(diào)用函數(shù)的Frame Header指針(Back Chain Word),第二個(gè)DWORD是當(dāng)前函數(shù)在上一級(jí)函數(shù)中的返回地址(LR Save Word)。得到函數(shù)的地址后,可以通過(guò)符號(hào)表得到函數(shù)名字。如果是動(dòng)態(tài)庫(kù)中定義的函數(shù),還可以通過(guò)擴(kuò)展函數(shù)dladdr得到這個(gè)函數(shù)的動(dòng)態(tài)庫(kù)信息。
-
Oops在Linux 2.6內(nèi)核+PowerPC架構(gòu)下的前世今生
http://www.hbhlny.cn/content/13/0409/00/7044580_277039271.shtml
2017/6/29 11:29:10
Oops在Linux 2.6內(nèi)核+PowerPC架構(gòu)下的前世今生。CFG_OOPS_RD_TEST宏控制是否進(jìn)行讀測(cè)試,以驗(yàn)證內(nèi)核態(tài)log是否記錄成功-sh-3.1# insmod /usr/local/esw/drivers/oopslog.koUsing fallback suid methodoops_log module loaded successfully!oops_log: oops_log test!!!!!!!!!!所有的oops都將以int die(const char *str, struct pt_regs *regs, long err)為入口,其中oops_enter表示oops處理開(kāi)始,oops_exit標(biāo)識(shí)oops處理結(jié)束。
-
Linux源代碼目錄結(jié)構(gòu)說(shuō)明
http://www.hbhlny.cn/content/13/0410/17/7044580_277403053.shtml
2017/6/29 11:26:53
圖:linux源代碼目錄結(jié)構(gòu)示意圖(一) scripts目錄: 該目錄中不包含任何核心代碼,該目錄下存放了用來(lái)配置內(nèi)核的腳本和應(yīng)用程序源碼。(四) Include目錄: 這 個(gè)目錄包含linux源代碼目錄樹(shù)中絕大部分頭文件,每個(gè)體系架構(gòu)都在該目錄下對(duì)應(yīng)一個(gè)子目錄,該子目錄中包含了給定體系結(jié)構(gòu)所必需的宏定義和內(nèi)聯(lián)函數(shù)。Usr目錄:該目錄中的代碼為內(nèi)核尚未完全啟動(dòng)時(shí)執(zhí)行用戶空間代碼提供了支持。
-
linux內(nèi)核中的GPIO系統(tǒng)之(1):軟件框架
http://www.hbhlny.cn/content/14/0813/09/14530056_401464070.shtml
2017/5/12 18:09:21
linux內(nèi)核中的GPIO系統(tǒng)之(1):軟件框架linux內(nèi)核中的GPIO系統(tǒng)之(1):軟件框架。我更傾向使用GPIO系統(tǒng)這個(gè)名字來(lái)代替GPIO driver這個(gè)名字,GPIO driver僅僅包含了pin signal狀態(tài)控制和讀取的內(nèi)容,而GPIO系統(tǒng)包括了pin multiplexing、pin configuration、GPIO control、GPIO interrupt control等內(nèi)容。例如IO expander上的GPIO只能是GPIO,但是SOC上的某個(gè)GPIO除了做普通的IO pin腳,還可以是SPI上clock信號(hào)線。
-
Android源碼分析:AudioPolicy
http://www.hbhlny.cn/content/13/0815/14/11338643_307326622.shtml
2015/10/27 19:57:57
這兩個(gè)API函數(shù)調(diào)用順序如下:android.media.AudioManager->android.media.AudioService->android.media.AudioSystem->JNI層(文件android_media_AudioSystem.cpp)->AudioSystem-> AudioPolicyService->AudioPolicyManagerBase::setForceUse。AudioSystem::FORCE_SPEAKER,AudioSystem::FORCE_BT_SCO,AudioSystem::FORCE_NONE.AudioSystem::FORCE_HEADPHONES ,AudioSystem::FORCE_BT_A2DP,AudioSystem::FORCE_BT_DESK_DOCK,
-
linux內(nèi)核驅(qū)動(dòng)中對(duì)字符串的操作
http://www.hbhlny.cn/content/12/1224/10/3478092_255969530.shtml
2015/7/4 19:20:26
用法說(shuō)明:int strnicmp(const char *s1, const char *s2, size_t len)功能:比較字符串s1和s2的前l(fā)en個(gè)字符串的大小,不區(qū)分字母大小寫(xiě)。char *strncpy(char *dest, const char *src, size_t count)功能:將字符串src中最多count個(gè)字符復(fù)制到字符數(shù)組dest中(它并不像strcpy一樣遇到NULL才停止復(fù)制,而是等湊夠count個(gè)字符才停止復(fù)制),返回指向dest的指針。char *strim(char *s)功能:除去字符串str首部與尾部的空格字符。
-
Linux內(nèi)核中的GPIO系統(tǒng)之(3):pin controller driver代碼分析
http://www.hbhlny.cn/content/14/0813/09/14530056_401464168.shtml
2015/6/2 16:51:25
bank++) { ---------C pin_bank = &drvdata->ctrl->pin_banks[bank]; for (pin = 0; pin <pin_bank->nr_pins; pin++) { sprintf(pin_names, "%s-%d", pin_bank->name, pin); pdesc = pindesc + pin_bank->pin_base + pin; pdesc->name = pin_names; pin_names += PIN_NAME_LENGTH; } }*num_pins = drvdata->pin_groups[selector].num_pins;
-
設(shè)備驅(qū)動(dòng)模型(2)
http://www.hbhlny.cn/content/15/0526/17/15561569_473421862.shtml
2015/5/26 17:36:01
-
設(shè)備驅(qū)動(dòng)模型(1)
http://www.hbhlny.cn/content/15/0526/17/15561569_473420911.shtml
2015/5/26 17:32:18
-
Kobject模型
http://www.hbhlny.cn/content/15/0526/17/15561569_473420180.shtml
2015/5/26 17:29:18
點(diǎn)擊(此處)折疊或打開(kāi)struct kset_uevent_ops { int (*filter)(struct kset *kset, struct kobject *kobj); //事件過(guò)濾函數(shù) const char *(*name)(struct kset *kset, struct kobject *kobj); //事件名稱(chēng)函數(shù) int (*uevent)(struct kset *kset, struct kobject *kobj,struct kobj_uevent_env *env); //uevent函數(shù)可在熱插拔程序執(zhí)行前,向環(huán)境變量寫(xiě)值};詳細(xì)的熱插拔事件先不在這里分析。
-
Linux ALSA聲卡驅(qū)動(dòng)之一:ALSA架構(gòu)簡(jiǎn)介
http://www.hbhlny.cn/content/15/0524/22/15561569_472999518.shtml
2015/5/24 22:36:47
Linux ALSA聲卡驅(qū)動(dòng)之一:ALSA架構(gòu)簡(jiǎn)介。在內(nèi)核設(shè)備驅(qū)動(dòng)層,ALSA提供了alsa-driver,同時(shí)在應(yīng)用層,ALSA為我們提供了alsa-lib,應(yīng)用程序只要調(diào)用alsa-lib提供的API,即可以完成對(duì)底層音頻硬件的控制。內(nèi)核空間中,alsa-soc其實(shí)是對(duì)alsa-driver的進(jìn)一步封裝,他針對(duì)嵌入式設(shè)備提供了一些列增強(qiáng)的功能。我們從alsa在linux中的設(shè)備文件結(jié)構(gòu)開(kāi)始我們的alsa之旅. 看看我的電腦中的alsa驅(qū)動(dòng)的設(shè)備文件結(jié)構(gòu):
-
ALSA project
http://www.hbhlny.cn/content/15/0524/22/15561569_472998272.shtml
2015/5/24 22:31:43
pcm.name { type asym # Asym PCM playback STR # Playback slave name # or playback { # Playback slave definition pcm STR # Slave PCM name # or pcm { } # Slave PCM definition } capture STR # Capture slave name # or capture { # Capture slave definition pcm STR # Slave PCM name # or pcm { } # Slave PCM definition }}
-
linux/android mk文件
http://www.hbhlny.cn/content/13/1205/11/9171956_334636510.shtml
2015/5/23 11:38:49
例如,看下面的目錄層次: sources/foo/Android.mk sources/foo/lib1/Android.mk sources/foo/lib2/Android.mk 如果 sources/foo/Android.mk 包含一行: include $(call all-subdir-makefiles) 那么它就會(huì)自動(dòng)包含 sources/foo/lib1/Android.mk 和 sources/foo/lib2/Android.mk。六、 Android.mk 使用模板 在一個(gè) Android.mk 中可以生成多個(gè)APK應(yīng)用程序,JAVA庫(kù),C\C++可執(zhí)行程序,C\C++動(dòng)態(tài)庫(kù)和C\C++靜態(tài)庫(kù)。
-
ARM Boot 示例
http://www.hbhlny.cn/content/09/0512/08/129881_3466003.shtml
2014/1/20 0:32:22
ARM Boot
-
S3C2410 中斷程序的實(shí)現(xiàn)
http://www.hbhlny.cn/content/09/0512/08/129881_3465887.shtml
2014/1/20 0:32:06
-
S3C44b0的中斷控制
http://www.hbhlny.cn/content/09/0512/08/129881_3465908.shtml
2014/1/20 0:31:12
中斷 S3C44b0