色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【賽昉科技昉·星光RISC-V單板計算機(jī)試用體驗(yàn)】添加tft觸摸屏(ili9488)并顯示開機(jī)logo,為qt做準(zhǔn)備

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-14 14:40 ? 次閱讀
本文來源電子發(fā)燒友社區(qū),作者:cszzlsw, 帖子地址:https://bbs.elecfans.com/jishu_2287667_1_1.html


1.前言
前面兩篇帖子咱們回顧了從頭制作系統(tǒng)并運(yùn)行homeassistant,其中不可謂不辛酸,然后我就在想再做個啥,找了一下自己庫存的外設(shè),有一個tft屏帶觸摸芯片的,一想,這不正好的嘛,可以玩玩圖形編程了,老聽說linux開發(fā)板的qt編程咱也沒見過啊,說干就干,這就開始了.

2.移植驅(qū)動并首先嘗試
首先我的屏主控是lil9488的,分辨率320*480,據(jù)說再往上就得上rgb屏了,這咱沒玩過也不懂,把手頭上這個整明白先.
這個在git倉庫:https://github.com/starfive-tech/freelight-u-sdk,給的linux內(nèi)核里面找了一圈,也沒見,
然后發(fā)現(xiàn)有一個芯片是ili9486的,跟我這差一位數(shù),一想差不多,這個開始弄吧,把文件拷過來,然后改吧:
poYBAGKvOuSAF2LVAAeGDGqwUu0153.png

然后把所有涉及9486的地方都改成9488,
然后是設(shè)備樹里面改吧改吧(改了好多次,也是第一次寫設(shè)備樹):
poYBAGKvOuWAZB-XAAI6kW0Ce0E876.png

這款tft屏除了常規(guī)的spi線之外,還有BL(背光BackLight),Reset(復(fù)位),DC(Data-Control)線需要接,這里我用的gpio1,2,3腳,
另外最后的那個debug如果不需要就置0,需要就置1.

然后在linux內(nèi)核里面配置一下,把ili9488加進(jìn)來:

-> Device Drivers │
│ -> Staging drivers (STAGING [=y]) │
│ -> Support for small TFT LCD display modules (FB_TFT [=y])



然后就是編譯內(nèi)核,再刪除rootfs,然后再生成rootfs,這都老熟人了,
這些都整完之后,就把卡插上準(zhǔn)備燒錄,
然后漫長的等待過程之后,終于燒完了,

緊跟著就把屏接上,按照文檔里介紹的40pin引腳對應(yīng)接好,
上電,然而,并沒有出現(xiàn)期待中的點(diǎn)亮屏幕,

二.各種解決問題
1.spi沒有設(shè)備id問題:

出現(xiàn)這個問題的原因是因?yàn)?a target="_blank">sdk的系統(tǒng)是5.15,屬于是很新的系統(tǒng)了,但是linux里面的驅(qū)動幾年都不更新,所以過期了,需要在ili9844里這么改:
pYYBAGKvO-SAJ-yFAAI69KcV_ZI462.png

2.ili支持888顏色而ili9486是565模式
這里需要改好幾個地方,
首先是ili9488文件里初始化序列里面,把這個值由0x55改成0x66,
poYBAGKvO-OAFf5pAAIYBPog7Es333.png

然后在ser_var里面添加上888色彩的信息,
poYBAGKvOueAWJQeAAIcRie2rlU025.png

然后是display的值,增加一個函數(shù)和bbp值:
poYBAGKvPC2AXou-AAGByCRqGIA557.png

這里面涉及的這個函數(shù):fbtft_write_vmem24_bus8就是寫入像素信息的
這個函數(shù)需要放到fbtft-core.c里,放文件最后也行
fbtft-core.c文件還需要修改fbtft_framebuffer_alloc函數(shù)的幾個地方:
pYYBAGKvOuaAIKAKAAJRHQhnjk4959.png

pYYBAGKvOuaAcDOxAADqWe8BQmQ610.png



3.修改fbtft-core.c里面的幾個函數(shù),
首先是:fbtft_request_one_gpio:


  1. #include "linux/gpio.h"
  2. #include "linux/of_gpio.h"
  3. static int fbtft_request_one_gpio(struct fbtft_par *par,
  4. const char *name, int index,
  5. struct gpio_desc **gpiop)
  6. {
  7. struct device *dev = par->info->device;
  8. struct device_node *node = dev->of_node;
  9. int gpio, flags, ret = 0;
  10. enum of_gpio_flags of_flags;
  11. if (of_find_property(node, name, NULL)) {
  12. gpio = of_get_named_gpio_flags(node, name, index, &of_flags);
  13. if (gpio == -ENOENT)
  14. return 0;
  15. if (gpio == -EPROBE_DEFER)
  16. return gpio;
  17. if (gpio < 0) {
  18. dev_err(dev,
  19. "failed to get '%s' from DTn", name);
  20. return gpio;
  21. }
  22. //active low translates to initially low
  23. flags = (of_flags & OF_GPIO_ACTIVE_LOW) ? GPIOF_OUT_INIT_LOW :
  24. GPIOF_OUT_INIT_HIGH;
  25. ret = devm_gpio_request_one(dev, gpio, flags,
  26. dev->driver->name);
  27. if (ret) {
  28. dev_err(dev,
  29. "gpio_request_one('%s'=%d) failed with %dn",
  30. name, gpio, ret);
  31. return ret;
  32. }
  33. *gpiop = gpio_to_desc(gpio);
  34. fbtft_par_dbg(DEBUG_REQUEST_GPIOS, par, "%s: '%s' = GPIO%dn",
  35. __func__, name, gpio);
  36. }
  37. return ret;
  38. }
復(fù)制代碼

然后是fbtft_request_gpios:


  1. static int fbtft_request_gpios(struct fbtft_par *par)
  2. {
  3. int i;
  4. int ret;
  5. ret = fbtft_request_one_gpio(par, "reset-gpios", 0, &par->gpio.reset);
  6. if (ret)
  7. return ret;
  8. ret = fbtft_request_one_gpio(par, "dc-gpios", 0, &par->gpio.dc);
  9. if (ret)
  10. return ret;
  11. ret = fbtft_request_one_gpio(par, "rd-gpios", 0, &par->gpio.rd);
  12. if (ret)
  13. return ret;
  14. ret = fbtft_request_one_gpio(par, "wr-gpios", 0, &par->gpio.wr);
  15. if (ret)
  16. return ret;
  17. ret = fbtft_request_one_gpio(par, "cs-gpios", 0, &par->gpio.cs);
  18. if (ret)
  19. return ret;
  20. ret = fbtft_request_one_gpio(par, "latch-gpios", 0, &par->gpio.latch);
  21. if (ret)
  22. return ret;
  23. for (i = 0; i < 16; i++) {
  24. ret = fbtft_request_one_gpio(par, "db-gpios", i,
  25. &par->gpio.db[i]);
  26. if (ret)
  27. return ret;
  28. ret = fbtft_request_one_gpio(par, "led-gpios", i,
  29. &par->gpio.led[i]);
  30. if (ret)
  31. return ret;
  32. ret = fbtft_request_one_gpio(par, "aux-gpios", i,
  33. &par->gpio.aux[i]);
  34. if (ret)
  35. return ret;
  36. }
  37. return 0;
  38. }
復(fù)制代碼

最后是fbtft_reset:


  1. static void fbtft_reset(struct fbtft_par *par)
  2. {
  3. if (!par->gpio.reset)
  4. return;
  5. fbtft_par_dbg(DEBUG_RESET, par, "%s()n", __func__);
  6. gpiod_set_value_cansleep(par->gpio.reset, 1);
  7. usleep_range(20, 40);
  8. gpiod_set_value_cansleep(par->gpio.reset, 0);
  9. msleep(120);
  10. gpiod_set_value_cansleep(par->gpio.reset, 1);
  11. // gpiod_set_value_cansleep(par->gpio.cs, 1);/* Activate chip */
  12. }
復(fù)制代碼

這里主要是那個復(fù)位腳重啟一下,原來的是把cs腳使能,不知道為什么是這樣

燒錄之后如果不能顯示,可以嘗試把系統(tǒng)原來的顯示去掉(不知道有沒有作用,可以試下,我實(shí)驗(yàn)過程中去掉了):
pYYBAGKvPMOAEW48AAHy_EFy4ls921.png

大概主要碰到的問題就是這些吧,可能有些忘記了,想起來的時候再添加.

三.顯示logo,
這里需要修改linux配置,配置這個參數(shù),這個就是顯示logo的
-> Device Drivers │
│ -> Graphics support │
│ -> Bootup logo (LOGO [=y])
poYBAGKvPqGAZe1YAACjBEmibBg426.png


效果看一看(后面有時間換成咱們賽昉的logo試試):
poYBAGKvPqOAQYaAAAIlZZNBTts207.jpg

如果還想把終端的打印信息在屏幕上顯示出來,就配置這個
│ -> Device Drivers │
│ -> Graphics support │
│ -> Console display driver support
pYYBAGKvPqKAOHWpAADtd5hadfw531.png


但是這還不夠,還需要把console額外賦個值,在bootarg那里增加一個參數(shù)(這個功能很酷炫,但實(shí)際沒什么用,建議不要搞):
這里我們把固件編譯出來試一下是可以將字符顯示在屏幕上的,在linux終端上輸入:
echo hello >/dev/tty0
可以看到hello字符出現(xiàn)在屏幕上了.

四.總結(jié)
到這里一款LCD屏幕的移植過程大致就完了,整個步驟其實(shí)不是很繁瑣,其實(shí)最有意義的是這中間找問題的過程,借此機(jī)會大致弄明白了設(shè)備數(shù)的寫法
也知道了一些驅(qū)動方面的知識,后續(xù)等tf卡刷方式速度快點(diǎn)再玩了,準(zhǔn)備的實(shí)驗(yàn)有觸摸,QT寫界面等等,拭目以待吧.
再次吐槽發(fā)燒友的發(fā)帖機(jī)制,太難受,要趕緊把圖片粘貼功能弄出來

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2292

    瀏覽量

    46211
  • 賽昉科技
    +關(guān)注

    關(guān)注

    3

    文章

    154

    瀏覽量

    14305
收藏 人收藏

    評論

    相關(guān)推薦

    科技亮相世界互聯(lián)網(wǎng)大會,精彩呈現(xiàn)RISC-V創(chuàng)新成果

    豐富的RISC-V創(chuàng)新成果,包括·驚鴻-7110(JH-7110)RISC-V應(yīng)用處理器,·星光2(VisionFive2)
    的頭像 發(fā)表于 11-28 15:14 ?343次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技亮相世界互聯(lián)網(wǎng)大會,精彩呈現(xiàn)<b class='flag-5'>RISC-V</b>創(chuàng)新成果

    預(yù)售啟動!·星光 2 AI套件正式發(fā)布,基于RISC-V構(gòu)建AI算力

    10月24日,·星光2(VisionFive2)AI套件正式開啟預(yù)售。該套件由中國RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者科技攜手邊緣人工智能(A
    的頭像 發(fā)表于 10-25 08:05 ?249次閱讀
    預(yù)售啟動!<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2 AI套件正式發(fā)布,基于<b class='flag-5'>RISC-V</b>構(gòu)建AI算力

    Ubuntu現(xiàn)已適配RISC-V單板計算機(jī)Milk-V Mars

    近期,Canonical宣布優(yōu)化的Ubuntu24.04鏡像已可用于RISC-V單板計算機(jī)Milk-VMars。Milk-VMars由深圳市群芯閃耀科技有限公司(Milk-V)設(shè)計
    的頭像 發(fā)表于 06-12 08:19 ?472次閱讀
    Ubuntu現(xiàn)已適配<b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機(jī)</b>Milk-<b class='flag-5'>V</b> Mars

    暢玩·星光 2|手把手教你搭建基于RISC-V的家用NAS

    方案。通過科技與開源社區(qū)的共同努力,·星光2(VisionFive2)RISC-V單板計算機(jī)
    的頭像 發(fā)表于 06-04 08:19 ?973次閱讀
    暢玩<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2|手把手教你搭建基于<b class='flag-5'>RISC-V</b>的家用NAS

    信用卡大小的 RISC-V 單板計算機(jī)介紹

    信用卡大小的 RISC-V 單板計算機(jī) —— Mars Mars 由深圳市群芯閃耀科技有限公司(Milk-V)設(shè)計推出,搭載
    發(fā)表于 04-12 16:39

    科技RISC-V人才培育賦能

    中國RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者,科技受邀在峰會發(fā)表主題演講,正式加入RISC-V國際人才培養(yǎng)認(rèn)證中心。
    的頭像 發(fā)表于 04-02 08:18 ?520次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技<b class='flag-5'>為</b><b class='flag-5'>RISC-V</b>人才培育賦能

    科技VisionFive 2生態(tài)進(jìn)展雙周報(2.1-2.29)

    Image for VisionFive 2) 社區(qū)開發(fā)者發(fā)布4篇【·星光 2高性能RISC-V單板計算機(jī)體驗(yàn)】系列文章,內(nèi)容包括:U
    發(fā)表于 02-29 15:45

    RISC-V智能化網(wǎng)絡(luò)解決方案|科技·星光 2成功運(yùn)行OpenWrt

    。近期,科技在·星光2(VisionFive2)RISC-V單板計算機(jī)上成功運(yùn)行OpenW
    的頭像 發(fā)表于 02-23 08:18 ?698次閱讀
    <b class='flag-5'>RISC-V</b>智能化網(wǎng)絡(luò)解決方案|<b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2成功運(yùn)行OpenWrt

    ·星光 2 高性能RISC-V單板計算機(jī)體驗(yàn)】以容器的方式安裝 HomeAssistant

    ·星光 2 高性能RISC-V單板計算機(jī)體驗(yàn)】以容器的方式安裝 HomeAssistant 下載啟動容器 HomeAssisatant
    發(fā)表于 02-21 18:07

    ·星光 2 高性能RISC-V單板計算機(jī)體驗(yàn)】 Ubuntu 安裝 Docker 及常用軟件

    ·星光 2 高性能RISC-V單板計算機(jī)體驗(yàn)】 Ubuntu 安裝 Docker 及常用軟件 目的 為了更好的利用
    發(fā)表于 02-21 17:54

    ·星光 2 高性能RISC-V單板計算機(jī)體驗(yàn)】VisionFive2開箱+安裝Ubuntu

    ·星光 2 高性能RISC-V單板計算機(jī)體驗(yàn)】VisionFive2開箱+安裝Ubuntu 前言 很感謝
    發(fā)表于 02-21 17:49

    ·星光2 RISC-V單板計算機(jī)體驗(yàn)(三) - SSH連接

    ·星光2 RISC-V單板計算機(jī)體驗(yàn)(三) - SSH連接 一、官方資料 RISC-V官網(wǎng): [https://rvspace.org]
    的頭像 發(fā)表于 02-21 10:21 ?510次閱讀
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機(jī)</b>體驗(yàn)(三) - SSH連接

    ·星光2 RISC-V單板計算機(jī)體驗(yàn)(二) - 系統(tǒng)環(huán)境

    ·星光2 RISC-V單板計算機(jī)體驗(yàn)(二) - 系統(tǒng)環(huán)境 一、官方資料 RISC-V官網(wǎng): [https://rvspace.org]
    的頭像 發(fā)表于 02-21 10:15 ?669次閱讀
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機(jī)</b>體驗(yàn)(二) - 系統(tǒng)環(huán)境

    ·星光2 RISC-V單板計算機(jī)體驗(yàn)(一) - 開箱

    ·星光2 RISC-V單板計算機(jī)體驗(yàn)(一) - 開箱 一、開箱 ·星光2( VisionFi
    的頭像 發(fā)表于 02-21 10:10 ?725次閱讀
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機(jī)</b>體驗(yàn)(一) - 開箱

    ·星光 2 高性能RISC-V單板計算機(jī)試用體驗(yàn)】開箱及裝載Debian系統(tǒng)

    上周收到了·星光 2高性能RISC-V單板計算機(jī)開發(fā)板,在此非常感謝科技提供的
    發(fā)表于 01-24 00:32
    主站蜘蛛池模板: 日韩人妻精品久久日| 亚洲精品久久久午夜麻豆| 美女图片131亚洲午夜| 久久天天躁狠狠躁夜夜呲| 99热在线免费播放| 国产精品野外AV久久久| 俄罗斯老妇女BBXX| 亚洲熟女丰满多毛XXXXX| 亚洲区 bt下载| 幼儿交1300部一区二区| 伊人影院网| 99日韩精品| 国产成人精品三级在线| 9277在线观看免费高清完整版| 99热最新网站| 富婆夜店找黑人猛男BD在线 | 精品久久中文字幕有码| 辣文肉高h粗暴| 老太婆性BBWBBW| 久久精品热老司机| 欧美成人精品高清在线观看| 十次啦中文网| 野花社区WWW韩国日本| 99re这里只有精品国产| 高清大胆欧美videossexo| 黄页网站免费视频大全9| 美女议员被泄裸照| 无码AV毛片色欲欧洲美洲| 在线免费观看国产| 高h gl肉文| 久久一本岛在免费线观看2020| 人妻熟妇乱又伦精品视频中文字幕| 香蕉人人超人人超碰超国产| 小夫妻天天恶战| 1313久久国产午夜精品理论片| 在线伦理电影网| 高清撒尿hdtube撒尿| 99久久精品免费看国产免费| 97久久无码精品AV| 国产精品AV色欲蜜臀在线| 老女老肥熟国产在线视频|