Time of Update: 2018-12-05
1. 位元組順序概念位元組順序是指占記憶體多於一個位元組類型的資料在記憶體中的存放順序,通常有小端、大端兩種位元組順序。大端對齊:記憶體的低地址位存放著高位元據;小端對齊:記憶體的低地址位存放著低位元據;舉個例子,記憶體中兩個連續位元組中的資料為0x12 0x34,表示一個short,如果是大端對齊,這個數為0x1234;如果是小端對齊,則這個數為0x3412。2.
Time of Update: 2018-12-05
在linux指令碼中,經常會看到有“command > file 2>&1”這種用法,一直不太理解,今天找時間查了相關資料,總結如下:(1)1是標準輸出stdout,2是標準出錯stderr,>代表重新導向;(2)command > file,實際上是command
Time of Update: 2018-12-05
1. 下載源碼http://download.dre.vanderbilt.edu/下了ACE-6.0.0.tar.gz這個包,開始下了個zip包,解壓後各種x許可權以及換行問題。2. 編譯安裝tar -zxvf ACE-6.0.0.tar.gzcd ACE_wrappersmkdir buildcd build../configure --enable-staticmake make install注意幾點:1)--enable-static
Time of Update: 2018-12-05
Linux 下開啟 telnet 伺服器和 利用Secure CRT 虛擬終端 rpm -qa telnet 插在 telnet服務是否在rpm -qa telnet-serverrpm -ivh xinetd-*.i386.rpmrpm -ivh telnet-server*.i386.rpm這個會報錯,需要先裝xinetdrpm -ivh xineted*.i386.rpm在安裝 rpm -ivh
Time of Update: 2018-12-05
1 修改eth0 設定檔 配置精通IP[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0"HWADDR="00:0C:29:5E:03:E8"NM_CONTROLLED="yes"ONBOOT="yes"BOOTPROTO="static"IPADDR="192.168.1.101"NETMASK="255.255.255.0"GATEWAY="192.168.1.1"重啟
Time of Update: 2018-12-05
jsoncpp是一個c++封裝的json包,跨平台支援windows、linux、unix等多系統,macOS據說也支援。在windows下面使用比較簡單,直接往vc裡面添加項目就可以了。linux下面編譯需要使用到scons,scons又是一個牛叉的工具,功能和GNU make一樣,又比make簡單多了。scons是python工具,需要先安裝好python。下載sconshttp://www.scons.org/解壓 tar -zxvf scons-2.0.1.tar.gz設定環境變數#
Time of Update: 2018-12-05
Linux下面,有專門產生UUID的命令:uuidgen [-r] [-t]。即可以產生一個32位的字串。這個是在命令列得到。在/usr/include/lib裡面有個/uuid/uuid.h,其中定義了資料 uuid,無符號的字元指標。同時有專門產生UUID的函數:uuid_generate(uuid_t
Time of Update: 2018-12-05
#include "mysql.h"#include <iostream>#include <string>#include <stdio.h>using namespace std;int main(){MYSQL* sql_conn = NULL;MYSQL_RES *res_ptr = NULL;MYSQL_ROW sql_row;sql_conn = mysql_init(NULL);if( sql_conn == NULL)// {cout
Time of Update: 2018-12-05
下載1 boost_1_43_0.tar.gz2 tar -zxvf boost_1_43_0.tar.gz3 設定環境變數export PATH=$PATH:/opt/timesys/toolchains/armv5l-linux/bin/3. 進入目錄執行./bootstrap.sh, 此時形成bjam檔案和project-config.jam 4. 編輯project-config.jam, 僅修改using gcc這行。因為我使用的是arm-linux-gcc,所以將其改以下即可:
Time of Update: 2018-12-05
環境:主機:Windows XPVMware版本:4.5.1Linux:Red Hat Linux 9一、查看主機中的網路設定資訊在CMD對話方塊中輸入ipconfig,獲得主機(Windows XP)的網路設定資訊如所示:二、配置VMware中安裝的虛擬機器在Favorites中點擊你的虛擬機器,右鍵彈出的菜單中選擇“Edit…”,如所示:在“Network connection”選項中選擇“NAT”。三、配置VMware開啟“Manage VIrtual
Time of Update: 2018-12-05
int lpc3250_i2c_init(void){ int result; devno=MKDEV(lpc3250_i2c_major,lpc3250_i2c_minor); if(request_irq(IRQ_I2C_2,i2c_lm75interrupt,IRQF_TRIGGER_NONE,DEV_NAME,NULL)) { printk("can not get irq>>>/n"); return
Time of Update: 2018-12-05
1。我個人認為作者MAX對Linux的瞭解不像他對Solaris那樣深入,我不知道也沒法知道他的下列關於Linux的內容來自自己的代碼閱讀分析還是只是來自第三方的文檔資料而未經自己實地驗證;2。我已經盡量符合原意地翻譯了,當然中間實在忍不住的地方也插兩句自己的話;3。無論是只閱讀這一篇文章,還是看其他東西,我都覺得,保持自己頭腦清醒很重要 4。謝謝Max Bruning
Time of Update: 2018-12-05
核心原始碼位置:linux-3.6.38/drivers/tty/serial/samsung.c+1550#if defined(RS485_PORT3) || defined(RS485_PORT2)static struct proc_dir_entry *gpn12_inode = NULL;static char msg[10];static int write_gpn12(struct file *file, const char __user *buffer, unsigned
Time of Update: 2018-12-05
Linux的I2C驅動架構1. Linux的I2C驅動架構Linux中I2C匯流排的驅動分為兩個部分,匯流排驅動(BUS)和裝置驅動(DEVICE)。其中匯流排驅動的職責,是為系統中每個I2C匯流排增加相應的讀寫方法。但是匯流排驅動本身並不會進行任何的通訊,它只是存在在那裡,等待裝置驅動調用其函數。裝置驅動則是與掛在I2C匯流排上的具體的裝置通訊的驅動。通過I2C匯流排驅動提供的函數,裝置驅動可以忽略不同匯流排控制器的差異,不考慮其實現細節地與硬體裝置通訊。1.1
Time of Update: 2018-12-05
1.對SD卡分區不要掛載SD卡 umount2.查看SD卡 fdisk /dev/sdbCommand (m for help): dPartition number (1-4): 1Command (m for help): dSelected partition 2Command (m for help): Command (m for help): Command (m for help): Command (m for help): Command (m for help):
Time of Update: 2018-12-05
i2c體繫結構分為3個組成部分:(1)i2c核心(2)i2c匯流排驅動(3)i2c裝置驅動i2c核心:提供了i2c匯流排驅動和裝置驅動的註冊,登出方法,i2c通訊方法的上層的,與具體適配器無關的代碼以及探測裝置,檢測裝置地址的上層代碼等。i2c匯流排驅動:對i2c硬體體繫結構中適配器的實現,適配器可由CPU控制,甚至可以直接整合在CPU內部。主要包含了i2c適配器資料結構i2c_adapter,i2c適配器的algorithm資料結構i2c_algorithm和控制i2c適配器產生通訊訊號的函數
Time of Update: 2018-12-05
1.下載linux核心源檔案(www.kernel.org)2.安裝有關編譯工具 sudo apt-get install build-essential kernel-package libncurses5-dev3.把核心複製到/usr/src目錄下4.解壓核心 tar -xvjf linux-3.6.6.tar.bz25.清理以前編譯時間留下的臨時檔案。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。 sudo make
Time of Update: 2018-12-05
1. 標準輸入的控制文法:命令 檔案將命令的執行結果送至指定的檔案中。例如:ls -l > list 將執行“ls -l” 命令的結果寫入檔案list 中。文法:命令>! 檔案將命令的執行結果送至指定的檔案中,若檔案已經存在,則覆蓋。例如:ls -lg >! list 將執行“ls - lg” 命令的結果覆蓋寫入檔案list 中。文法:命令>& 檔案將命令執行時螢幕上所產生的任何資訊寫入指定的檔案中。例如:cc file1.c >& error
Time of Update: 2018-12-05
除去核心源碼下的include目錄外,在arch/arm/mach-s3c2410/和arch/arm/plat-s3c24xx/目錄下都有include目錄的。#include <linux/kernel.h> /* printk() */#include <linux/slab.h> /* kmalloc() */#include <linux/fs.h> /*
Time of Update: 2018-12-05
1.熟悉Linux系統架構,熟悉Linux裝置驅動的各種編程介面和機制;2.熟悉Linux核心開發環境,Uboot移植,Linux核心裁剪,根檔案系統定製;3.瞭解ARM硬體工作基本原理及中斷處理、IO介面、匯流排結構;4.有強烈的責任感,工作積極主動,良好的團隊精神,性格開朗,善於溝通。1.對晶片架構及細節能夠深入掌握。2.做過基本上大部分的驅動,如果某個驅動沒有做過,也能很快就能夠獨立完成3.深入理解記憶體管理、進程管理、檔案系統等,不能停留在概念上,應該閱讀過基本上全部的源碼。