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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于MCU工程師項目開發感悟經驗詳解

MCU開發加油站 ? 來源:CSDN技術社區 ? 作者:嵌入式ARM 最后一個 ? 2021-04-12 09:23 ? 次閱讀

今天跟大家分享一位嵌入式工程師的項目開發感悟,寫得非常的接地氣,學習和開發過程可以進行相應參考!自從我(原作者)去年被調到了嵌入式組,終于和以前研究生階段搞的開發經歷一致了。

但以前用的是ADS工具,還有用Linux平臺上的交叉編譯工具鏈,還有看linux 內核的驅動代碼。

現在搞起對日外包了。日本人不愛用linux,凡事總是搞出自己的一套。現在用的ut-kernel(看成一個RTOS就好), 開發工具則有RVDS,DS-5,MTK和IAR, 硬件調試器有Dstream, Realview ICE。現在對應的是富士通半導體部門,做的MCU(基于arm cm3,cm4, ca5核的富士通芯片) 的軟件開發測試。

本來自己的想法是搞搞嵌入式,熟悉下硬件東西,這樣可以加深的我的底層編程功底。

以下是幾個階段的工作感悟:

1ut-kernel/FA5 測試修復BUG工作:

日本人做的ut-kernel屬于嵌入式RTOS范疇,這塊同類的產品有uc/os, vxworks等,共同特征是高度可裁減,想塞到片內那有限的容量內。還有實時性好吧。實時性不僅表現在可搶占式進程調度,還有快速響應中斷的能力。

RTOS的設計畢竟和通用操作系統(linux)的設計思想還是有很大的差別的。感覺這個領域更適合微內核結構的發揮,宏內核結構如linux可裁剪性方面是個缺點。這個ut-kernel算是代碼量比較簡單,里面的修復BUG工作我覺得也不難,期間有timer相關的BUG,最后一看發現timer相關的代碼根本沒改造。

印象深刻的是后期做性能測試,對FA5和FM3芯片做比較時,因為兩個各基于Cortex-m3和cortex-a5架構,架構不同,發現這里面還是很有意思的。一開始FA5的性能沒有發揮出來,找到原因,cache沒打開。高檔次的CPU是要靠cache發揮威力的。

于是查找芯片手冊,正確地初始化了cache并打開它。后來又發現還有些功能如指令分支預測等這些也得打開,于是又修改了相關寄存器。完了,感覺FA5的性能比以前好了很多。于是對CM3和CA5的架構差別方面,我又充滿了興趣。我覺得知道這些,對以后并行多核程序開發,物聯網領域的一些東西都有幫助。

感覺FA5這種檔次高的芯片應該用到手持設備開發中去。那些工控級別的應用應該是FM3這類51單片機取代者的天下。ut-kernel是配著FM3芯片開發的,感覺配上FA5的話,ut-kernel架構就應該進行大改變了,或者直接用linux等內核比較好。

期間做了個初始化外接的DDR芯片工作,我們直接從UBOOT社區那邊拷過來該芯片的初始化代碼。然后針對該代碼做成一個具有初始化DDR單一功能的AXF可執行文件。以此來方便我們測試。還有測試中間差點鬧出來一個大問題,當時日方客戶見我們的初始化DDR代碼中還殘留有GPL版權信息,他們大怒,拷貝代碼慣了,對版權從來沒怎么看重。日本人對這塊比較看重,聽說在日本下載盜版音樂好像要被起訴。

下來經過這場事,我們對版權方面的東西特別敏感,搞好代碼后,首先要在代碼包中掃描版權信息。

2micro.NET framework 在FM3平臺上的移植

這個項目做起來還是非常有發展前途的。看看現在物聯網炒得多么火熱就知道了,可惜做了不到一半,日本人就給咔嚓掉了。不是我們做的不好,而是他們又想讓我們做別的是事情了。做對日外包就是這樣,沒自主權,得按別人指令辦事。這個項目的做的過程中,終于我對串口,timer,GPIO移植熟悉了很多,自己也做了些特性改造。而且我也會根據開發板的板子布線原理圖以及芯片手冊來寫一些簡單的驅動代碼了。

還有對scatfile,分散加載也熟悉了很多,對于MDK, RVDS,DS-5調試工具以及ICE,Dstream等硬件調試器的靈活運用也掌握了不少。

3ut-kernel/M3及M4F的測試

我親自參與并熟悉了怎么在片外再擴接一個SRAM,因為我們的測試代碼體積還比較龐大,無法放到片內中。想想自己以前本科學電子的,那時對示波器,萬用電表掌握的特別熟練。現在卻全部都忘完了(因為后來一直都搞的是純軟件)。

看到項目組同事在使用示波器時,我想到自己還是有基礎的,快速學習能力還是有的。因為做驅動開發,不可避免要用到示波器等這些設備。可惜當時外接SRAM硬件并沒多大問題,而且示波器等還是借的,所以我沒太多機會熟悉這些硬件測量設備。

想想自己本科數字電路,模擬電路等一些硬件課程,實驗課程都學的不錯的。哎,如果我這些功底都恢復并加強的話,那么自己的底層軟件編程也會加強不少,最主要的是編程視野也會相當開闊。畢竟最高層的軟件算法分析設計,我研究生階段都掌握了。沒事以后會有機會繼續窺探到這一領域的。

可惜外接ram又不穩定,后來我們又不得不移到片內進行測試。這時為了能把程序放到片內去跑,就要對ut-kernel里面占用內存空間的地方進行剪裁了,好在ut-kernel都是可裁剪的,在我們裁剪完之后,發現放到片內ram中測試比片外ram穩定多了。還有對嵌入式系統的軟件BUG調試也有所掌握,感覺嵌入式里面的軟件調試時,發現東西跑飛了。

這時可以有多個途徑查找。也許是沒禁掉看門狗,或者那些pend_sv中斷在內存中根本沒有初始化正確, 或者中斷向量表被沖掉了,或者對照著匯編指令看看寄存器狀態有沒有正確。要卡住出問題的地方來進行多方面原因的判斷調查。另外也要結合map文件,看看地址鏈接和加載得是否都正確,有沒有越界。

在測試M4F FPUT時,曾經發現一個詭異現在,一些調用子函數換個先后順序去執行時,就崩潰了,再換過了就不崩潰了。這時我調查了下,發現崩潰前代碼執行時用的棧遭到了破壞。

具體我往前推,發現在調用某個API返回之后,就會破換掉待返回的正確棧上的值。具體再調查時,發現是執行某條匯編指令時,棧遭到了破壞。不過這時候這個調查上面中止了,事情實在太多了又去做其他事情了。不過我相信只要掌握了方法和本質,這些問題都只是時間問題。
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17172

    瀏覽量

    351584
  • 嵌入式
    +關注

    關注

    5086

    文章

    19142

    瀏覽量

    305978

原文標題:MCU工程師幾個階段的開發感悟

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式工程師常用的開發工具有哪些?

    項目管理和調試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優化能力和調試工具,能夠幫助工程師快速開發出高質量的嵌入式軟件。 二、編譯器 編譯器將高級語言
    發表于 12-20 15:29

    KiCon 演講回顧(十三):嵌入工程師的硬件夢之 KiCad 經驗項目分享

    “ ?在KiCon Asia 2024,我們有幸聽到了@IAMLIUBO 的分享——嵌入式工程師的硬件夢之KiCad經驗分享。 ? ” 以下是完整演講視頻: 為什么選擇KiCad? 跨平臺支持
    的頭像 發表于 12-09 01:02 ?235次閱讀
    KiCon 演講回顧(十三):嵌入<b class='flag-5'>工程師</b>的硬件夢之 KiCad <b class='flag-5'>經驗</b>和<b class='flag-5'>項目</b>分享

    工程師秘籍】航順芯片一文教會你中級性能的MCU應該怎么選

    趙同學是去年畢業進入公司的技術工程師,參與了一些產品的開發和維護升級,使用過很多資源比較有限的入門級產品32位MCU。近期,公司看好小趙,交給他一個更高端的項目——干勁十足的趙同學搜集
    的頭像 發表于 10-22 17:23 ?518次閱讀
    【<b class='flag-5'>工程師</b>秘籍】航順芯片一文教會你中級性能的<b class='flag-5'>MCU</b>應該怎么選

    求LORA技術開發工程師合作

    求LORA技術開發工程師合作
    發表于 09-02 10:21

    尋求專業工程師幫助設計USB多口充電器

    嗨, 我正在開發一款USB多口充電器,現尋求一位專業工程師或產品設計的幫助。希望能夠與有經驗工程師合作,共同完成產品設計。以下是我們的需
    發表于 08-05 12:03

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發布于 :2024年07月25日 11:31:02

    找STM32硬件開發兼職工程師

    上海做傳感器的公司,找STM32硬件開發兼職工程師,會硬件開發,嵌入式軟件開發,可項目外包。有意聯系:15900460170
    發表于 06-22 19:12

    嵌入式軟件工程師如何提升自己?

    的發展打下堅實的基礎。 2.掌握專業技能 除了基礎知識外,嵌入式軟件工程師還需要掌握專業的技能。這包括熟練掌握嵌入式系統的開發工具、硬件平臺和軟件開發流程。建議通過參加培訓課程、實習經驗
    發表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區別?

    ,并且了解嵌入式系統的工作原理。此外,他們還需要具備良好的邏輯思維能力,能夠快速解決復雜的軟件問題。嵌入式軟件工程師在軟件開發方面有著豐富的經驗,能夠編寫高效穩定的嵌入式軟件,并且熟悉實時系統
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    優秀電源工程師需要哪些必備技能?

    程序開發要成為出色的電源工程師,編程是不可或缺的技能之一。在數字電源領域,常見的控制核心包括DSP、MCU和FPGA等。DSP和MCU通常使用C語言進行
    發表于 01-29 11:29
    主站蜘蛛池模板: 久久久久久91香蕉国产| 纯肉合集(高H)| 性xxx在线观看| 青娱乐国产精品视频| 一本道dvd久久综合高清免费| 色欲AV亚洲午夜精品无码| 你的欲梦裸身在线播放| 老师给美女同学开嫩苞| 久久久久久久久久毛片精品美女| 精品福利一区| 久久精品AV麻豆| 久久视频这里只精品99热在线观看| 九九精彩视频在线观看视频| 精品久久久久久久高清| 精品无码三级在线观看视频| 精品综合久久久久久8888| 精品亚洲视频在线观看| 久9视频这里只有精品123| 久久精品AV一区二区无码| 久久日本精品国产精品| 快穿之H啪肉| 暖暖 免费 高清 日本在线| 欧美精品做人一级爱免费| 秋霞网韩国理伦片免费看| 日本熟妇乱妇熟色A片蜜桃| 十七岁日本免费完整版BD| 无码天堂亚洲国产AV久久| 亚洲激情网站| 真实国产熟睡乱子伦对白无套 | 草莓视频在线观看完整高清免费| 仓井空torrent| 国产精品久久久精品a级小说| 国产欧美精品一区二区色综合| 国厂精品114福利电影| 超碰免费碰免费视频| 成人中文字幕在线| 国产精品香蕉视频在线| 精品国产影院| 摸董事长的裤裆恋老小说| 青青草原国产在线观看| 挺进绝色老师的紧窄小肉六|