娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月20日(星期五)

正在發生

2021年12月20日 | tiny4412 裸機程序 九、串口排查驅動原因及字符圖片顯示

發布者:真誠的友誼 來源: eefocus關鍵字:tiny4412  裸機程序 手機看文章 掃描二維碼
隨時隨地手機看文章

一、實驗原理

大家可能會有疑問,不是在BL2目錄中的mem_init_tiny4412.S實現了串口初始化了,且也有串口輸出函數,要不然怎么串口調試助手上怎么會有打印信息呢,這里為什么還要重新初始化?其實我覺得也可以不用重新初始化,但至少也要實現Printf()這個標準函數里要調用的串口輸出函數吧,因為初始化工作在時鐘沒有改變的情況下,可以只初始化一次,但是到LCD初始化這一步時,CPU已經重定位到DRAM中執行了,前面在mem_init_tiny4412.S實現的函數uart_asm_putc和uart_asm_putx函數現在代碼應定位不到了吧,所以應無法調用了,所以我覺得有必要重新初始化,至少實現串口輸出函數。

代碼實現方式還是從U-BOOT中去COPY修改的,同時也參考了《Linux平臺下Mini210S裸機程序開發指南》的第24章代碼方式。這一章我不會詳細的去說明代碼中串口如何實現等等,我只想找出LCD用另一種代碼風格沒能初始化成功的原因?代碼的實現過程,相信大家有了前面幾章的說明,自己應想明白吧。

linux系統中提取出來的一些相關文件,雖然我這里重新實現了串口初始化函數,但我也沒有在user_bin.bin程序的main執行階段沒有調用此函數進行初始化串口,而是只會通過printf()函數調用putc()輸出函數和輸入所用getc()函數。所以這也驗證了前面的設想,其實一開始串口已初始化好了,我們沒有改變時鐘什么的,沒必要再來初始化一次了。程序實現方式簡章不做過多說明。

測試過程中我發現,繪制文字一直不是很清晰,三個字庫都如此,程序上可能存在什么問題吧,需要好好排查。

Lcd.c中的lcd_draw_bmp()繪圖函數我進行了修改,讓他的更加靈活一點,它可以繪制由網上比較流行的圖片轉LCD數據軟件“img2lcd”轉換出來的,帶有8字節圖片信息頭的字符數組文件。此函數會自動從8字節的信息頭中提取圖像高度和寬度信息,然后進行繪圖。由于我現在提供是800*480的24bit的圖片,現在編譯生成的user_bin.bin文件會比較大了,現在出來的文件大小已經比較大了,大約有1149K了,所以我們有必要修改一下BL2中mmc_relocate.c,要將其復制的扇區大小改大一些,一個扇區512字節,大家看著自己程序修改吧,但也不能太大了,因為我不清楚FriendlyARM為我們提供的SD-Flasher.exe在格式分區時,第一分區分配大小到底有多大,我不是很確定,我用一個分區工具查看時,發現在大小有150M左右,如下圖9-1所示,大家的程序還是控制在5M大小內比較保險吧。

 

圖9-1、SD卡分區示意圖

我修改復制的大小為2048K,所以扇區數為4096,代碼如下所示:

SDMMC_ReadBlocks(49,4096,0x43e00000);

3、main.c

         main.c程序也做了相關修改,主要是復制了《Linux平臺下Mini210S裸機程序開發指南》第24章所提供的代碼,程序實現通過輸入不同數字繪出不同的圖形,同時屏幕上會顯示字符。程序實現也很簡單,這里不過多說明。

三、完整的燒寫過程

已將SD卡插入電腦,假設linux識別了SD卡,其識別號為sdb。執行下面命令:

# chmod 777 –R 8_sdram_LCD_Char

# cd 8_sdram_LCD_Char

# make

# ./ fast_fuse /dev/sdb

由于這個程序user_bin.bin程序比較大了,燒寫的時間會長一些吧,我的一般要兩三分鐘了,大家耐心等待,燒寫過程中,屏幕沒有反應,不是燒寫的sh死了。

四、上電實驗

將sd卡插入Tiny4412中,選擇sd卡啟動,和電腦能過串口0連接好,打開一個串口調試助手,然后上電,可以看到以下現象:

串口助手中不但顯示了前面從內存中讀出的信息,同時也輸入了LCD初始化過程中增加的打印信息,我截取了部分輸出如下圖9-2所示,從圖上可以看出VIDTCON2寄存器的初始化值兩種風格設置數值果然不同,這就是問題的所在。

 

圖9-2、LCD初始化輸出信息

查看代碼,原來是代碼如下,原來LINEVAL<< 11寫借了,EXYNOS_VIDTCON2_LINEVAL(x)已經將值左移11位了,這里我又左移了11位,導致初始化出錯。

//VIDTCON2 = ( EXYNOS_VIDTCON2_LINEVAL(LINEVAL<<11) |
EXYNOS_VIDTCON2_HOZVAL(HOZVAL));

將其修改為:

//VIDTCON2 = ( EXYNOS_VIDTCON2_LINEVAL(LINEVAL)|
EXYNOS_VIDTCON2_HOZVAL(HOZVAL));

重新編譯上電實驗,從下圖9-3中截取的部分可以看出現在初值一樣了。

 

圖9-3、LCD初始化輸出信息

最后,我將這一章的代碼修改為第二種風格的書寫方式提供給大家,我自己也編譯上電驗證了,現在程序也能正常工作了。

這一步完成后,即可以驗證了main程序了,如下圖9-4所示,是發送字符5后繪制一幅圖片的效果圖。

 

 

圖9-4、Tiny4412實現效果圖

So Sexy ??? Oh haa??

第十章、尾聲

一開始我說過,我一開始一直想在U-BOOT中移植成功LCD功能,但始終無法實現,才想著先用裸機程序來實驗,驗證LCD程序能正常工作了,再去調試U-BOOT,所以才會從網上才找到《Linux平臺下Mini210S裸機程序開發指南》的文檔,也才有這一篇裸機程序學習記錄文檔,到此,我的目的已經達到了,后面按Mini210S的文檔程序都是通過Minitools來燒寫的,但我們的Tiny4412不行,我也不去深入實現其他的裸機代碼了,但文檔中提供重定位到DRAM中運行的方法,同樣可以實現一些程序稍大的裸機程序,有興趣的朋友可以參考《Linux平臺下Mini210S裸機程序開發指南》文檔,實現完所有的功能,為廣大學習朋友造福,我在此已花支了一段時間了,我學這個是有目的,不想花過多時間深入其他程序,下一步轉回到U-BOOT的調試中去。謝謝!


關鍵字:tiny4412  裸機程序 引用地址:tiny4412 裸機程序 九、串口排查驅動原因及字符圖片顯示

上一篇:tiny4412 裸機程序 七、重定位代碼到DRAM
下一篇:tiny4412學習(一)之從零搭建linux系統

推薦閱讀

電視屏幕可以像畫布一樣卷動收起,此種新奇產品即將成真!LG電子準備在明年年初的美國賭城消費電子展(CES),秀出可折疊的OLED電視,創下業界首例。韓媒Pulse報導,明年1月9日登場的CES展上,LG電子將發布65英寸的可折疊電視原型機,電視機的OLED顯示器能像投影機屏幕一樣卷起。LG之前展示過可折疊的電視面板,如今更進一步秀出可折疊電視,為業界首見。OLE...
12月20日,中京電子在互動平臺表示,公司具備高階HDI產品的大批量供貨能力,目前產能利用率很高,行業發展前景令人樂觀。隨著5G基站建設和換機潮加速,PCB產業迎來量價齊升,其中高密度多層板(HDI)在終端產品小型化需求中具有優勢,也極大地滿足了電子產品的更高性能需求。同時,當前智能手機、筆電、汽車電子等市場對HDI板需求較大,也加速了HDI板的需...
隨著芯片性能的日益提升,芯片復雜度越來越高,為了保證出廠的芯片品質,芯片測試環節越來越受到各大廠商的重視。在測試系統中需要用到一種重要的配件便是測試治具,包含設備連接治具(Docking)、探針臺接口板(PIB)、探針卡、KIT、測試座(Socket)等,而其中的核心零部件便是測試探針,占整個測試治具總成本的70%。測試探針市場被國外廠商占據眾所周知...
距離年底的時間越來越近了,此前在高通驍龍技術峰會上,小米就宣布全球首發驍龍8平臺,首發機型為小米12。但目前其他國產廠商都已經公開宣布,甚至預熱、發售了驍龍8新旗艦,而小米這邊依然沒有任何動靜,令人心焦。不過,下周大家或許就能看到小米12的官方消息了。根據知名爆料博主@i冰宇宙 的最新消息,小米12應該會在下周正式開啟預熱模式,很可能在周...

史海拾趣

問答坊 | AI 解惑

B題交流

本帖最后由 paulhyde 于 2014-9-15 09:26 編輯 大家發表下做B題的問題,大家一起解決  …

查看全部問答∨

常用元器件的識別

本帖最后由 paulhyde 于 2014-9-15 08:59 編輯 一、電阻 電阻在電路中用“R”加數字表示,如:R1表示編號為1的電阻。電阻在電路中的主要作用為分流、限流、分壓、偏置等。 1、參數識別:電阻的單位為歐姆(Ω),倍率單位有:千歐(KΩ),兆歐 ...…

查看全部問答∨

終端PDA界面最大化后自己做一個圖片按鈕用來顯示電量和WLAN

終端采集器用的是SYMBOL的9300,我將窗口最大化后,狀態欄就隱藏掉(要求這樣子)這樣我就需要自己顯示電量和那個設置無線局域網的東西。有做過的發一個DEMO程序到我郵箱里,謝謝!worldisliuyi@163.com…

查看全部問答∨

wince 5.0 提供藍牙適配器的驅動嗎?

在ARM的板子上開發程序,操作系統是wince5.0需要一個藍牙適配器,可是我不太懂 1、wince上有沒有自帶的驅動程序? 2、如果有的話是不是所有的藍牙適配器都能直接使用? 3、支持的是USB的和串口的藍牙適配器都支持嗎? 謝謝了…

查看全部問答∨

鎖任務調用taskLock()能否從if分支中提取出來

如題,在VxWorks下我看到很多人都喜歡用下面第一段的寫法,而且uC/OS-II源碼里也喜歡第一段的風格 而我覺得第二段的寫法更簡潔,只是鎖任務的時間多了一個判斷語句的執行時間 如果在源文件中用第二段代碼將第一段替代,應該是等價的吧。。。。 ...…

查看全部問答∨

談談 USB 開發的感受,[無驅動與有驅動]

其實利用USB與設備通信,PC機不一點要寫驅動,例如直接利用CDC-ACM也可以實現數據傳輸,只需寫個INF. 但為什么還是要自己在WDM中開發USB驅動呢? 看了下CDC文檔,感覺好多情況下可以利用WINDOWS自帶的一些API來寫應用,為什么我們還要去寫驅動呢. 大蛺 ...…

查看全部問答∨

現在最常用的指紋傳感器型號?要滑動傳感器!

   不要是停產的啊..很郁悶找了atmel的AT77CXXX系列,貌似都停產了,我真是狂無語了,大家誰知道比較便宜的這種傳感器啊,滑動的哦.. 散分了 ...…

查看全部問答∨

wince 觸摸屏調試遇到的問題???

我使用的是wince5,7寸的觸摸屏。系統啟動后,做了矯正(而且試了n多次)。問題2個:1。只要用筆點擊一下圖標,那個圖標就會移動一下,而且方向總是一樣的,都是向左下移動,大概有10-15左右個象素的距離。 2。當點擊屏幕上方靠近屏幕上邊緣的地方 ...…

查看全部問答∨

搞無線的看過來

有用nRF系列的芯片做無線的嗎?留下聯系方式,交流一下阿.我把我的留下了.qq:472230383…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 府谷县| 内黄县| 宁海县| 友谊县| 琼结县| 台东市| 庄浪县| 荥阳市| 板桥市| 察隅县| 牡丹江市| 堆龙德庆县| 溧阳市| 大方县| 岳普湖县| 襄汾县| 平邑县| 吉林市| 北海市| 榆树市| 富顺县| 尖扎县| 浮梁县| 临泽县| 博野县| 郎溪县| 洛扎县| 凤翔县| 新绛县| 定远县| 贵州省| 天津市| 丰县| 闵行区| 仁化县| 礼泉县| 芒康县| 剑阁县| 洛隆县| 佛山市| 吉安市|