欧美日韩欧美,女人和拘做受大片免费看,麻花豆传媒剧国产mv免费版特色,欧美成人精品高清在线观看,麻豆产精国品一二三产区区

【E972】emWIN+lwip+ucosIII移植

2021-09-09 22:25:10      索煒達電子      829     

項目編號:E972

文件大?。?8M

源碼說明:帶中文注釋

開發(fā)環(huán)境:C編譯器

簡要概述:

1.源程序是使用429例程當(dāng)中的內(nèi)存管理實驗,首先移植了enwin裸機,按照pdf的方法移植下來,下載演示,出了問題,觸摸屏抖動的情況,好在教程里提到了這個問題,降低rgb的像素時鐘,但是沒說具體位置 搜索下LTDC_Init函數(shù),然后根據(jù)屏的id選擇不同的配置,我的是lcdid==0X7016  LTDC_Clk_Set(300,2,RCC_PLLSAIDIVR_4);//設(shè)置像素時鐘  45Mhz   
2.在此基礎(chǔ)上移植lwip裸機,原來移植過一次,沒有成功,原因在于對lwip管理機制的不熟悉,經(jīng)過一段時間的學(xué)習(xí),今天順利移植。
  按照教程移植完lwip的裸機程序后,需要修改以下幾個方面:
1)lan8720的復(fù)位引腳在iic的擴展io芯片上,要添加驅(qū)動程序,剛開始我沒加,結(jié)果初始化完成,網(wǎng)口的led都不亮,是因為網(wǎng)卡沒初始化。
2)lwip內(nèi)核有很多周期性定時器,相應(yīng)的很多定時器函數(shù)需要被調(diào)用,所以在無操作系統(tǒng)的情況下,需要使用定時器為lwip內(nèi)核提供時鐘。lwip裸機例程當(dāng)中使用的定時器3,而在enwin的例程中,定時器3已經(jīng)被用作emwin的事務(wù)處理           了,定時器4被用來刷屏了,所以我就使用定時器5來作為lwip的時鐘。在中斷函數(shù)當(dāng)中只需要把 lwip_localtime +=10; //加10
3)然后就是在主函數(shù)中調(diào)用lwip_periodic_handle();        //LWIP內(nèi)核需要定時處理的函數(shù)
     把它放到GUIDEMO_Main()函數(shù)下_Main函數(shù)下就ok了
4)這時下載程序,會看到lwip初始化不成功,最終原因是HAL_ETH_Init(D_Handler)失敗 原因可能是超時  修改下stm32f4xx_hal_eth.c中的兩個宏 LINKED_STATE_TIMEOUT_VALUE AUTONEGO_COMPLETED_TIMEOUT_VALUE改大一些,我是直接加了個0,下載進去,初始化成功,ping ok

帶操作系統(tǒng)的移植,我是在無操作系統(tǒng)的基礎(chǔ)上,一點一點按照教程來的,很麻煩,而且容易出錯,以后再移植直接復(fù)制已經(jīng)修改好的emwin、lwip文件夾,然后添加工程即可
移植完成下載進去會遇到lwip初始化失敗的問題,原因是內(nèi)存分配失敗,把malloc所管理的內(nèi)存改大一些就ok

目錄│文件列表:

 │ emwin lwip ucosIII.zip

 │ emwin lwip無操作系統(tǒng)移植.zip

 └ 不繞彎路,獲取海量資源.jpg

TAGemWIN
  • 6 次
  • 1 分