E8卡linux系統讀寫高通字型檔晶元

2021-12-29 20:41:15 字數 1469 閱讀 6531

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...