Time of Update: 2018-12-05
今天學習了2個小時左右的linux shell命令,書上介紹的比較全,很多平時都不知道的,才發現原來可以這麼方便。整理了一下,貼出來。 Linux shell的基本格式:Command [options] [arguments]一般情況下 man 一下,就能看到常用的一些參數了; 系統管理命令:1) ls 最常用的,-l,-t,還有的系統上是有ll這個命令的,和ls -l一樣;2) pwd3) cd4) date 這個平時用的比較少,date -s 可以設定日期時間,date '+%
Time of Update: 2018-12-05
rpm是red hat package manager的縮寫,開始由rh開發出來,後來漸漸成為linux流行的一種軟體包管理方式。因為簡單方便,所以流行。 插播一下rpm包是用的平台分類:1) i386:intel 80386以後的x86架構的電腦。2) i686:intel 80686以後(奔騰pro以上)的x86架構的電腦。3) x86_64:64位處理器。4) noarch:平台無關型。 rpm包的安裝 rpm兩種包,一種是以.rpm結尾的,另一種以.src.rpm結尾。前者安裝比較簡單,
Time of Update: 2018-12-05
1. 位元組順序概念位元組順序是指占記憶體多於一個位元組類型的資料在記憶體中的存放順序,通常有小端、大端兩種位元組順序。大端對齊:記憶體的低地址位存放著高位元據;小端對齊:記憶體的低地址位存放著低位元據;舉個例子,記憶體中兩個連續位元組中的資料為0x12 0x34,表示一個short,如果是大端對齊,這個數為0x1234;如果是小端對齊,則這個數為0x3412。2.
Time of Update: 2018-12-05
在網路程式的開發中,免不了會涉及到伺服器與用戶端之間的協議互動,由於用戶端與伺服器端的平台的差異性(有可能是windows,android,linux等等),以及網路位元組序等問題,通訊包一般會做序列化與還原序列化的處理,也就是通常說的打包解包工作。google的protobuf是一個很棒的東西,它不僅提供了多平台的支援,而且直接支援從設定檔產生代碼。但是這麼強大的功能,意味著它的代碼量以及編譯產生的庫檔案等等都不會小,如果相對於手機遊戲一兩M的安裝包來說,這個顯然有點太重量級了(ps:查了一下
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 修改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。我個人認為作者MAX對Linux的瞭解不像他對Solaris那樣深入,我不知道也沒法知道他的下列關於Linux的內容來自自己的代碼閱讀分析還是只是來自第三方的文檔資料而未經自己實地驗證;2。我已經盡量符合原意地翻譯了,當然中間實在忍不住的地方也插兩句自己的話;3。無論是只閱讀這一篇文章,還是看其他東西,我都覺得,保持自己頭腦清醒很重要 4。謝謝Max Bruning
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
除去核心源碼下的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.解壓arm-linux-gcc 檔案如:#tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /2.把arm-linux-gcc 安裝到一個目錄下面如:將把 arm-linux-gcc 安裝到/opt/FriendlyARM/toolschain/4.5.1 目錄3.修改設定檔環境變數如:把編譯器路徑加入系統內容變數,運行命令#gedit /root/.bashrc編輯/root/.bashrc 檔案,注意“bashrc”前面有一個“.”,
Time of Update: 2018-12-05
在linux下搭建svn本機伺服器可以很好的管理自己的代碼,具體過程如下:# mkdir svn_local# cd svn_local # svnadmin create led_diplay在xxx目錄下會有下面目錄:conf dav db format hooks locks README.txt# svn import [path] URLsvn import led_diplay/
Time of Update: 2018-12-05
mail:bookworepeng@Hotmail.comqq:196568501author:DriveMonkeyphone:13410905075Source:#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int mmap_init(void){printk(KERN_ALERT"Hello world!\n");return
Time of Update: 2018-12-05
1.擷取核心移植源碼http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz22.解壓核心源碼(1).bzip2 -d linux-2.6.32.2.tar.bz2(2).tar -xvf linux-2.6.32.2.tar3.修改總目錄下的Makefile原:export KBUILD_BUILDHOST := $(SUBARCH)ARCH ?= $(SUBARCH)CROSS_COMPILE ?=改為export
Time of Update: 2018-12-05
mail:bookworepeng@Hotmail.comqq:196568501author:DriveMonkey承接各類嵌入式外包項目(phone:13410905075)linux 調試 GPIO 有兩個工具可以使用一個就是dubugfs另外一個就是linux自身帶的gpio驅動架構首先說一下debugfs 對於gpio調試的用法1.mount 上 debugfs mount -t debugfs debugfs /sys/kernel/debug2. 找到引腳多路配置選項
Time of Update: 2018-12-05
mail:bookworepeng@Hotmail.comqq:196568501author:DriverMonkey承接各類嵌入式外包項目(phone:13410905075)1/*2 * SPI testing utility (using spidev driver)3 *4 * Copyright (c) 2007 MontaVista Software, Inc.5 * Copyright (c) 2007 Anton Vorontsov
Time of Update: 2018-12-05
mail:bookworepeng@Hotmail.comqq:196568501author:DriverMonkey承接各類嵌入式外包項目(phone:13410905075)使用方法:1.核心中開啟debugfs 功能 Location: -> Kernel hacking Debug Filesystem 2.啟動核心mount
Time of Update: 2018-12-05
mail:bookworepeng@Hotmail.comqq:196568501author:DriveMonkey 問題: 運行 ”echo 117 > /sys/class/gpio/export“ 在 gpio 目錄下不能產生gpio117 檔案調試過程:第一步:在 gpio_request 設定列印資訊發現 test_and_set_bit 函數 傳回值為 --EBUSY思考:懷疑當前 gpio117 已經被其他驅動使用第二步:驗證第一步的懷疑在 gpio_request