e8卡linux系統讀寫高通字型檔晶元,在e8卡上通過linux的spi驅動讀寫高通字型檔晶元。
spi是分主從的,字型檔晶元不會主動通過spi傳送資料。只有在linux上發起讀操作的時候,字型檔才會把他的資料傳送出來。
/** spi mode
*/ret = ioctl(fd, spi_ioc_wr_mode, &mode);
if (ret == -1)
printf("can't set spi mode");
ret = ioctl(fd, spi_ioc_rd_mode, &mode);
if (ret == -1)
printf("can't get spi mode");
/** bits per word
*/ret = ioctl(fd, spi_ioc_wr_bits_per_word, &bits);
if (ret == -1)
printf("can't set bits per word");
ret = ioctl(fd, spi_ioc_rd_bits_per_word, &bits);
if (ret == -1)
printf("can't get bits per word");
/** max speed hz
*/ret = ioctl(fd, spi_ioc_wr_max_speed_hz, &speed);
if (ret == -1)
printf("can't set max speed hz");
ret = ioctl(fd, spi_ioc_rd_max_speed_hz, &speed);
if (ret == -1)
printf("can't get max speed hz");
printf("spi mode: %d\n", mode);
printf("bits per word: %d\n", bits);
printf("max speed: %d hz (%d khz)\n", speed, speed/1000);
//spi 傳送緩衝區
unsigned char tx[1024] = ;
//spi 接收緩衝區
unsigned char tx2[1024] = ;
//字型檔晶元讀命令
tx[0] = 0x03;
//3個位元組的位址資料
tx[1] = (unsigned char)((address&0xff0000)>>16);
tx[2] = (unsigned char)((address&0xff00)>>8);
tx[3] = (unsigned char)(address&0xff);
struct spi_ioc_transfer tr = ;
ret = ioctl(fd, spi_ioc_message(1), &tr);
接收到的字型檔資料,就在tx2中。
E8刷機日誌
去年入手乙個天嵌e8卡片電腦,其介面全 實惠,一下子就吸引了我,馬上購入一塊。由於是第一次使用天嵌的產品,到手是乙個安卓系統,當時據說還不支援ubuntu,等了段時間,一直莫有等到ubuntu問世。大概等了乙個多月吧,據說支援ubuntu了,我以為會了乙個系統給我呢,沒想到是ubuntu刷機教程。瞬...
編譯天嵌E8核心原始碼
不久前,買了一塊天嵌e8的板,拿到資料後就試著編譯一下所給的核心原始碼。解壓,進入原始碼目錄,發現沒有.config檔案。於是 cp config for e8 linux config 然後,make zimage 編譯核心時,會出現這樣的乙個錯誤 drivers media video sams...
E8工作流與Memcached整合
memcached是什麼 memcached是乙個自由開源,高效能,分布式記憶體物件快取系統。memcached是以livejournal旗下danga interactive公司的brad fitzpatric為首開發的一款軟體。現在已成為mixi hatena facebook vox live...