原创 ARM下的對齊處理
from DUI0067D_ADS1_2_CompLib 3.13 type qulifiers 有部分摘自ARM編譯器文檔對齊部分對齊的使用:1.__align(num) 這個用於修改最高級別對象的字節邊界。在彙編中使用LDRD或
原创 關於段及相關概念的一些自己的闡述
1.void sched_init(void){...00392 set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); 00393 set_ldt_desc
原创 linux初始化代碼陷阱門初始化
linux初始化代碼陷阱門初始化: trap_init主要功能對異常陷阱程序做初始化,其實就是設置中斷描述符表(IDT:interrupt Description Table)。IDT和GDT差不多每個IDT都是由一個8個字節組成。最多
原创 linux0.11緩衝處理過程及一點塊設備的基礎知識
關於linux緩衝處理過程及一點塊設備的基礎知識 一: 塊設備硬盤的基礎知識: 硬盤存儲信息的格式是按柱面、磁頭號和扇區來存儲的,硬磁盤每個存儲表面被劃分成若干個磁道,每道劃分成若干個扇區。 存儲容量=磁頭數×柱面數×扇區數×每扇區
原创 陸續一些常用函數彙編實現
//字符串拷貝void strcpy(const char *src, char *dest) { char ch; __asm { loop: ld
原创 C語言宏定義技巧
1,防止一個頭文件被重複包含#ifndef COMDEF_H #define COMDEF_H //頭文件內容 #endif 2,重新定義一些類型,防止由於各種平臺和編譯器的不同,而產生的類型字節數差異,方便移植。 type
原创 也談字節對齊帶來效率的差異
因爲今天和同事談到了ARM平臺下數據總線寬度及對齊方式對程序效率的影響問題在定義結構數據類型時,爲了提高系統效率,要注意字長對齊原則。正好有點感觸給大家談談 本人水平有限的很有什麼問題請朋友指正:本文主要給大家解釋下所謂的對齊到底是什麼?
原创 看到這麼多的linux站點 有點激動趕緊先記錄下不要錯過了
http://www.fanqiang.com ; 在這裏可以學到很多喲!http://www.Linuxhq.com/,Linux總部,主要負責核心的開發工作。http://freesoft.cei.gov.cn/,中國Linux的資源
原创 關於浮點一點想法和使用
突然想起浮點的一些東西,無聊寫個求浮點的小數部分函數說到浮點又想到前陣一件鬱悶的事前陣項目中用到分解浮點的小數和整數部分用於顯示不知道爲什麼ads中編譯的代碼在顯示 "."的時候居然是亂碼很是鬱悶沒辦法使用庫函數只能自己寫當時也沒當回
原创 小結UART驅動過程
URAT工作流程:1.配置發送和接收口線信息來實現訪問方式 具體使用IO的端口及讀寫方式即配置GPIOx的PC0 PC1 PC2寄存器2.開啓UART_CR中的RUN位打開波特率發生器使UART激活3.配置隊列機制這個機制是接收和發送
原创 大數運算 整型運算浮點後續再補充
/* * Date: 2006-08-14 * Ver : 0.1 */ #ifndef _LN_H#define _LN_H#include <memory.h>#define STRING_LENGTH 100 typedef
原创 居然找到自己很早很早24點計算的程序 趕緊紀念一下
#include <stdio.h>#include <iostream.h>#include <string.h>#include <assert.h>class StorePoint{public: StorePoint() :
原创 at&a語法和intel語法
學習linux內核少不了要讀at&t的彙編,這個對大多數使用intel彙編的人是一個不幸的消息,要另起爐竈。什麼?你不是學得intel彙編?你是不是中國學生?記得我們有門課是學<intel 8086/8088彙編語言>,學得挺感興趣,竊以
原创 c語言測試工具 掌握CUnit
1.繼Junit CppUnit的成功後, c語言環境下也出現了開發源碼的白盒測試用例CUnit。 暫時CUnit只是在SourceForge上還再不斷改進中,雖然不是很完善,但是能用。 下面介紹一下CUnit結構框架和具體使用 2
原创 ARM中斷處理及狀態機嵌套實現
1.ARM7提供兩種級別的中斷, FIQ(Fast Interrupt Request快中斷) 一般中斷低速反應中斷IRQ。 所有的中斷請求一旦產生則中斷反應會經過三個步驟 a.輸入階段這個邏輯可以根據中斷源被實現,需要0-2個時鐘週