樓主: wangkj
打印 上一主題 下一主題

跟我學(xué)嵌入式(arm fpga 原理圖 pcb verilog 焊接 調試 軟件硬件)

[復制鏈接]
321
 樓主| 發(fā)表于 2013-1-29 14:28:18 | 只看該作者
記得在項目的選項中,把Create Hex File 選中,這是我們將來(lái)燒寫(xiě)的文件。





322
 樓主| 發(fā)表于 2013-1-29 14:29:39 | 只看該作者
從軟件的標題,可以看到我們這個(gè)工程文件所在的位置,
將來(lái),我們燒寫(xiě)文件的時(shí)候,根據這個(gè)線(xiàn)索,就能找到燒寫(xiě)文件。



323
 樓主| 發(fā)表于 2013-1-29 14:30:13 | 只看該作者
點(diǎn)擊編譯圖標,完成項目的編譯。



324
 樓主| 發(fā)表于 2013-1-29 14:30:45 | 只看該作者
拔下SB2跳線(xiàn),重新上電或者按復位鍵B2。
我們這個(gè)板子的usb接口比較小,表貼,插拔一定要小心,不用用力過(guò)猛,
如果野蠻操作,弄不好這個(gè)usb接頭就掉了,很難補救。



325
 樓主| 發(fā)表于 2013-1-29 14:31:22 | 只看該作者
這是復位鍵,記住,旁邊的SB4跳線(xiàn),跳上,復位才能有效。



326
 樓主| 發(fā)表于 2013-1-29 14:34:29 | 只看該作者
燒寫(xiě)狀態(tài)的板子,led1是亮的,led3,led4是滅的。
點(diǎn)擊燒寫(xiě)軟件Flash Loader Demo



327
 樓主| 發(fā)表于 2013-1-29 14:35:19 | 只看該作者
這是啟動(dòng)之后的燒寫(xiě)界面。



328
 樓主| 發(fā)表于 2013-1-29 14:36:23 | 只看該作者
一般來(lái)講,我們應該選擇UART口中數字最大的一個(gè),如果沒(méi)有把握,可以在系統中查看。



329
 樓主| 發(fā)表于 2013-1-29 14:37:56 | 只看該作者
在 我的電腦->屬性->設備管理器->端口 中就能找到我們的pl2030驅動(dòng)的串口









330
 樓主| 發(fā)表于 2013-1-29 14:39:44 | 只看該作者
確認串口正確了,點(diǎn)擊next,開(kāi)始我們的程序燒寫(xiě)。



331
 樓主| 發(fā)表于 2013-1-29 14:49:24 | 只看該作者
如果順利的話(huà),會(huì )出現燒寫(xiě)器件正常的提示,
包括你的器件的flash 容量。
如果出現其他錯誤提示,請注意燒寫(xiě)跳線(xiàn)跳開(kāi)沒(méi)有,
多按幾次復位,反復點(diǎn)擊next。
如果多次都不正常,請拔掉usb接口斷電,然后重新上電,按復位按鈕。
注意,上電之后,要等3-5秒,然后再啟動(dòng)燒寫(xiě)軟件,
有些電腦反應慢,usb來(lái)不及初始化,會(huì )造成出錯。
如果經(jīng)常出錯,請把Timeout時(shí)間設置為3秒以下,省的等的心煩。
我的經(jīng)驗是,如果正常,不會(huì )超過(guò)1s,超過(guò)一秒沒(méi)響應,肯定就不正常了。



332
 樓主| 發(fā)表于 2013-1-29 14:52:26 | 只看該作者
Target自動(dòng)選擇的是64k型號,我們這個(gè)就是這個(gè)型號。



333
 樓主| 發(fā)表于 2013-1-30 14:38:24 | 只看該作者
點(diǎn)擊"..."按鈕,選擇我們的燒寫(xiě)文件


334
 樓主| 發(fā)表于 2013-1-30 14:39:14 | 只看該作者
文件類(lèi)型選擇HEX,
文件名是Demo.HEX。



335
 樓主| 發(fā)表于 2013-1-30 14:39:46 | 只看該作者
燒寫(xiě)正常的話(huà),很快完成,一般這里很少出錯,但也不是沒(méi)有。
如果出錯的話(huà),請重新復位,重新打開(kāi)燒寫(xiě)軟件重復上述過(guò)程。

以前,有第三方的燒寫(xiě)軟件,能自動(dòng)燒寫(xiě),比這個(gè)官方的好用一些,
但目前,我沒(méi)找到支持stm32f0的,如果哪位對軟件比較熱心,
可以去下載這個(gè)燒寫(xiě)軟件的源碼,自己改寫(xiě)。



336
 樓主| 發(fā)表于 2013-1-30 14:40:34 | 只看該作者
插上SB2的燒寫(xiě)跳線(xiàn)帽,讓板子進(jìn)入正常工作模式。
這時(shí)候,可以重新上電或者復位,板子就正常工作了。
這時(shí)候,可以看到LED電源燈亮,LED3,LED4閃爍。



337
 樓主| 發(fā)表于 2013-1-30 14:41:31 | 只看該作者
Keil自帶的程序很簡(jiǎn)單,雖然能夠足以說(shuō)明板子已經(jīng)正常工作了,
但我們需要更多的信息顯示,如果能把更復雜的信息顯示出來(lái)就更好了。
我們想到了串口,我們既然能串口燒程序,我們也應該能通過(guò)串口,把stm32的
內部信息或者采集的其他信息通過(guò)電腦顯示出來(lái)。
打開(kāi)我改版的官方樣例程序。



338
 樓主| 發(fā)表于 2013-1-30 14:42:11 | 只看該作者
解壓到當前文件夾,然后到STM32F0-Discovery_FW_V1.0.0\Project\Demonstration\MDK-ARM
目錄中,雙擊 STM32F0-Discovery_Demo.uvproj 打開(kāi)這個(gè)工程文件



339
 樓主| 發(fā)表于 2013-1-30 14:43:02 | 只看該作者
我在main.c中增加了這些內容:

//#pragma import(__use_no_semihosting)
                           
struct __FILE
{
        int handle;
};

FILE __stdout;
         
int _sys_exit(int x)
{
        x = x;
        return 0;
}

/** @addtogroup STM32F0-Discovery_Demo
  * @{
  */
int fputc(int ch, FILE *f)
{
  /* Write a character to the USART */
  USART_SendData(USART1, (uint8_t) ch);

  /* Loop until the end of transmission */
  while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
  {
  }
  return ch;
}
/**
  * @brief  Inserts a delay time.
  * @param  nTime: specifies the delay time length, in 1 ms.
  * @retval None
  */
/****************************************************************************
* Ãû    ³Æ£ºint fgetc(FILE *f)
* ¹¦    ÄÜ£ºÖض¨Òåfgetcº¯Êý£¬printfº¯Êý´ÓÖÕ¶ËÊäÈëÊý¾Ý
* Èë¿Ú²ÎÊý£ºÎÞ
* ³ö¿Ú²ÎÊý£ºÎÞ
* ˵    Ã÷£ºÎÞ
****************************************************************************/
int fgetc(FILE *f)
{
        while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
        return (int)USART_ReceiveData(USART1);
}

void delay(void)
{
        int i,j;
        for(i=0;i<2000;i++)
                for(j=0;j<2000;j++);
}
這些只是關(guān)鍵內容,其他內容比如串口初始化,大家自己打開(kāi)工程文件去看。
還有,target的option中,一定要使用micro lib庫。







340
 樓主| 發(fā)表于 2013-1-30 14:43:45 | 只看該作者
這種辦法,fputc,fgetc,把標準輸入輸出重定向到了串口,如果需要重定向到屏或者鍵盤(pán),可以修改者兩個(gè)函數。
從理論上講,函數中,可以同時(shí)支持多種設備。
比如,同時(shí)支持串口和屏的輸出,同時(shí)支持串口和鍵盤(pán)的輸入等。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页