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

15.210控制臺故障分析(解決問題的思路)

發布者:快樂飛翔最新更新時間:2024-10-31 來源: cnblogs關鍵字:控制臺  故障分析 手機看文章 掃描二維碼
隨時隨地手機看文章

對于串口的輸出,210按照前面的操作是下面的亂碼。

  1. 第一想到的很可能是波特率的問題,這是串口亂碼的一般情況。排除這一點的是前面的putc函數是可以實現的。驗證:

如上面,先把主函數里的printf信息給注釋掉。加上putc函數。重新編譯和加頭:

開發板先格式化

再下載:

下載成功之后,卻換到NandFlash啟動,看看串口有沒有輸出:

可以看到終端上面有信息的正常輸出,說明了putc是可以工作的,也就是波特率沒有錯。

 

上面就確保了波特率沒有問題,接下來想到的是串口打印函數printf有問題。在printf函數里我們就實現了兩個功能:1)格式化輸入的信息。2)輸出格式化后的信息。

    一般想到的是,很可能是在1)格式化輸入的信息的時候出錯了,導致輸出的是亂碼。也有可能2)輸出格式化后的信息有錯。

    之所以說輸出信息的地方出錯的可能性很小,這是因為前面的putc已經正常工作了。接下來就是排除這種情況。

主函數,直接調用printf:

做了上面的修改之后重新編譯,燒寫到開發板,設置從NandFlash啟動:

可以看到仍然是亂碼。上面轉化已經被注釋掉了,可還是亂碼。說明在輸出的時候就已經有問題了。

解析來就是注釋掉for循環,直接輸出一個變量:

重新編譯,燒寫到開發板,NandFlash啟動:

當改為變量之后,干脆就沒輸出了。

 

說明了輸出一個變量都有問題,接下來測試一下輸出一個字符:

重新編譯,燒寫到開發板,NandFlash啟動:

換成字符之后又沒問題了。

 

從上面的結果知道,問題出在變量上面。由于上面的變量是已經初始化的,存在于數據段,接下來就是檢查數據段的位置和內容是否正確。

數據段的位置是在代碼段之后的,打開lds文件即可確定:

可以看到是沒有問題的。

接下來是確認數據段的內容里有沒有tmp變量。

打開dump,搜索tmp變量:

可以看到,tmp是在elf文件里,也是在數據段的。但是存不存在與gboot.bin文件中呢!?

上面可以看到,定義的內容已經編譯進入了.bin文件。

就是數據段的內容也是正確的。

問題是,210里的uboot是需要加上一個頭信息的:gboot-210.bin,打開gboot-210.bin之后:

發現加了頭信息之后的uboot.bin里的內容變了好多,根本就沒有我們定義的信息。

查看兩個文件的大小:

上面可以到,gboot-210.bin比gboot.bin小了很多,但是,按道理,由于gboot-210.bin比gboot.bin多了一個頭信息,應該是要大一點才對,反而小了。

可以得出的結論了,就是沒加頭信息的uboot.bin是正常的,加了頭信息后,反而不正常,且是數據段的內容減少了。所以問題就出在加頭程序了。

打開加頭程序后,可以看到:

可以看到,上面BUFSIZE和IMG_SIZE的大小都是16k,然后是不是定義的BUFSIZE和IMG_SIZE太小,然后把后面的內容忽略了。所以改16k設置為32k。再把那些調試信息刪掉。重新編譯,燒寫,NandFlash啟動:

現在問題好像有點更嚴重了,啥信息都沒有,原來是有亂碼輸出的。開發板還一直在叫。

為什么單單改了一下長度:

開發板會在一直叫呢?

我們來回顧一下前面學過的東西:

如上圖,在210的uboot啟動的過程中,首先是先運行IROM里的BL0里的程序。BL0程序會把BL1里的程序往SRAM里復制。BL1的最大值是16k。復制進來之后,BL0會做相應的操作:

其中的一個操作是:

是去檢查Checksum。

具體的過程是這樣的:在BL0去把BL1里的16k程序復制到SRAM里的時候,回去統計BL1里1的個數。然后在我們的BL1里,4字節的頭:

可以看到也有CheckSum,就是BL1里1的個數。當上面的兩者不一致的時候,BL0就認為傳遞過來的映象有問題,就會產生叫聲。

問題是出在:

加頭程序里,有一個for循環,就是統計加頭文件里1的個數的。本來BL1的最大值是16k的,這里的IMG_SING已經被賦值為32k,所以統一1的個數不只是BL0里的1,也有BL2里的1,導致與BL0統計的1的個數不一樣,所以會嘯叫。這里把它改回16k

改了之后重新編譯,重新加頭信息:

重新下載,設置NandFlash啟動:

可以看到控制臺已經正常輸出了。問題終于解決了。

上面就是一個解決嵌入式異常的流程,要善于用排除法,排除干擾因素等。


關鍵字:控制臺  故障分析 引用地址:15.210控制臺故障分析(解決問題的思路)

上一篇:16.6410DMA簡述
下一篇:14. 串口控制臺建立

推薦閱讀最新更新時間:2025-04-23 17:28

西門子S7-300 PLC的故障分析案例
大家好,本周又為大家帶來了西門子楊工在工作現場處理的真實案例了,這次楊工來到了另外一個客戶的現場,客戶所在的行業是機電行業。 該現場使用的是西門子的S7-300的PLC,該項目運行了一年多,一直有問題,但最近出現問題比較頻繁,現象是每天從CPU第一次上電運行,大概30分鐘后,開始出現停機的情況,停機時 SF、STOP燈亮。此時只能通過手動復位,CPU才能恢復運行。而之后,該現象將隨時出現,并且越來越頻繁,甚至有時幾乎每個程序周期都會停機,因此嚴重影響了用戶的生產。 根據故障情況,楊工初步懷疑是現場存在電磁干擾。因此楊工決定奔赴現場對問題進行定性并決定最終處理方案。到現場后,楊工首先觀察PLC運行的情況。楊工發現,現場采用的是西
[嵌入式]
西門子S7-300 PLC的<font color='red'>故障</font><font color='red'>分析</font>案例
掃地機器人常見故障分析及處理方案
人們的生活節奏越來越快,越來越多的人不想為了家務活浪費時間,進而選用掃地機器人這類小家電來改善自己的生活方式。那么,當掃地機器人出現故障時會不會很難維修呢?自己可以做什么處理?人們的生活節奏越來越快,越來越多的人不想為了家務活浪費時間,進而選用掃地機器人這類小家電來改善自己的生活方式。那么,當掃地機器人出現故障時會不會很難維修呢?自己可以做什么處理? 智能掃地機器人使用久了之后,避免不了會出現一些故障,但是不是所有的故障都需要找專人維修,下面小編就盤點一些小故障的處理方法,我們自己在家就可以解決。 一、邊刷不轉 邊刷不轉基本都是假故障,邊刷問題的概率也很小,如邊刷電機有問題會出現報警音。 解決方法、步驟: 1
[機器人]
電解分析儀常見故障的解決方法
  電解分析儀是一種常用的分析儀器,采用先進的離子選擇電極測量技術來實現精確檢測,具有分析快速、準確、方便、實用等多種的優點,被廣泛的應用于多個行業當中。用戶在使用電解分析儀的時候也是會出現一定的故障的,所以我們在使用的過程中對于故障的處理方法也是需要有一定的了解的。今天小編就為大家總結了一些電解分析儀的常見故障,下面來一塊看一下電解分析儀常見故障的解決方法吧。   1、當出現檢測器失效時如何解決   檢測器失效時的原因有4種:   ①檢測器的插頭與主機板座松了;   ②檢測器本身壞了;   ③閥芯上的固定螺釘與電機轉動軸未緊固到位;   ④閥芯本身太緊不能轉動。檢查的順序依次為③-①-④-②。   2、吸樣不暢的原因及
[測試測量]
汽車傳感器波形分析故障診斷中的應用
  1? 示波器的介紹   示波器是用來對電路中電壓或電流的波動情況進行測量的工具,它能實時地反應器件的工作情況。在電路分析中通.是用它來測量輸入與輸出的波形,并由觀察者經過分析研究,得出此電路性能的優良狀況或問題所在。   2? 汽車故障診斷中傳感器波形分析的重要性   隨著現代汽車技術的發展,在汽車中使用了大量的傳感器,傳感器在其工作環境中感受物理量的變化時,并以電流或電壓的方式向汽車ECU傳送所感覺到的變化,汽 ̄EZCU接收到傳感器送來的信號后,做出相應的判斷,驅動相關設備進行工作,調整汽車的工作狀態。   在現代汽車上用的傳感器可分為:溫度、速度、壓力、氧含量、振動及位置傳感器,它們產生各種各樣的電壓或電流
[嵌入式]
汽車防盜報警器故障分析及處理
例1.故障現象:汽車防盜報警器遙控*作不起作用,按遙控器各功能按鍵時,遙控器的紅色LED指示燈不亮。 原因分析:此故障多在遙控器本身,有以下幾種情況: (1)電池電量用盡; (2)電池正、負極簧片生銹或接觸不良; (3)遙控器被雨淋或進水、油浸等。對此,可將電路板取出,用工業酒精清洗后,用家用電吹風吹干或待其自然干燥后,就可以使用。 例2.故障現象:遙控距離越來越短,發射信號時,遙控器的LED亮度變暗或閃爍。 原因分析:此現象多是電池電量不足,更換電池即可。除此以外,建議不要自己調整或更換遙控器的元件,以免造成更大的損失。 例3.故障現象:遙控器某一功能鍵失效,按該鍵時LED指示燈不亮。 原因分析:某功能鍵失效(其它功能鍵
[工業控制]
Smart210學習記錄------paltform總線
1、概述: 通常在Linux中,把SoC系統中集成的獨立外設單元(如:I2C、IIS、RTC、看門狗等)都被當作平臺設備來處理。 從Linux2.6起,引入了一套新的驅動管理和注冊機制:Platform_device和Platform_driver,來管理相應設備。 Linux中大部分的設備驅動,都可以使用這套機制,設備用platform_device表示,驅動用platform_driver進行注冊。 Linux platform driver機制和傳統的device_driver機制相比,一個十分明顯的優勢在于platform機制將本身的資源注冊進內核,由內核統一管理,在驅動程序中使用這些資源時通過platform_devic
[單片機]
x210-2023-02-01
1、虛擬機底下的設置- 虛擬機設置灰色無法添加新的網絡適配器,由于處于關機或掛起狀態,將虛擬器開啟后再查看就可以了。 2、筆記本只有兩個串口,原來燒錄使用的USB線換到不是一直插的那個串口上就會出現提示黃色感嘆號,說明找不到驅動需要重新裝驅動,這里一直以為是以電腦為單位綁定的驅動,但是經過這次說明DNW驅動只是和固定的串口做了綁定,只要沒裝過驅動的串口一樣會識別不了。 3、破壞了UBOOT并刷過裸機程序后,想要再用DNW直接往0xd0020010燒UBOOT就會發現一直燒不進去,即便DNW軟件用管理員模式也一樣(再或者插拔串口線或者開發板電源),需要先往0xd0020010燒了x210_usb.bin,這時發現已經能燒進去,然
[單片機]
x<font color='red'>210</font>-2023-02-01
S5PV210 ADC轉換
第一節 S5PV210的ADC S5PV210的ADC可支持10bit和12bit,它支持10路輸入,然后將輸入的模擬的信號轉換為10bit或者12bit的二進制數字信號。 在5MHz的時鐘下,最大轉換速率是1MSPS。本章只是涉及到初步的ADC轉換,并不會講解觸摸屏相關知識,其結構圖如下: 在Mini210S中,adc相關的原理圖如下: 通道0的輸入被接到可調電阻上,通過調節可調電阻,adc能轉換出不同的值。 第二節 程序相關講解 完整代碼見詳細代碼下載鏈接。 1. main.c main()函數很簡單,主要是調用了adc_test()函數來測試adc,adc_test()的定義位于文件adc.c中。 2. adc.c
[單片機]
S5PV<font color='red'>210</font> ADC轉換
小廣播
設計資源 培訓 開發板 精華推薦

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 凤台县| 霍林郭勒市| 永平县| 修武县| 湖北省| 望城县| 大洼县| 介休市| 裕民县| 伊宁市| 保康县| 平定县| 定结县| 阳谷县| 临城县| 威远县| 天津市| 宜君县| 巴彦县| 鲁甸县| 定兴县| 晋江市| 乐都县| 卢湾区| 宜州市| 高阳县| 吴桥县| 开封县| 云霄县| 呼图壁县| 丽水市| 福海县| 台北市| 无棣县| 胶州市| 碌曲县| 武乡县| 新沂市| 泗水县| 福建省| 汉川市|