嵌入式軟體設計入門與進階——基於Kinetis K60/K64

嵌入式軟體設計入門與進階——基於Kinetis K60/K64

《嵌入式軟體設計入門與進階——基於Kinetis K60/K64》是於2016年11月清華大學出版社出版的一本圖書,作者是蘇勇。

基本介紹

  • 中文名:嵌入式軟體設計入門與進階——基於Kinetis K60/K64
  • 作者:蘇勇
  • 出版時間:2016年11月
  • 出版社清華大學出版社
  • ISBN:9787302442073
前言,圖書簡介,目錄,

前言

在經典的51單片機時代誕生了許多實用的技術書籍,覆蓋了從硬體架構到軟體套用的方方面面,這些作品培養了大量單片機工程師,對單片機技術的發展提供了非常大的助力。現如今,隨著ARM單片機的興起和繁榮,相關的書籍不斷湧現。然而,從作者的學習經歷來看,目前關於ARM單片機書籍的描述,重點還是放在參考手冊和固件庫上,也就是說,書中的內容直接或間接地來源於單片機原廠的參考手冊或是固件庫。誠然,這些知識對於單片機開發非常重要,它們是使用ARM單片機進行開發的基礎。但是,隨著ARM單片機的普及和開發門檻的降低,單片機工程師們對ARM技術書籍的需求遠不止於此,在實踐中,還有更廣闊的空間需要探索。本書作者曾經也是單片機開發的初學者,經過了多年對ARM單片機的學習和實踐,在不斷解決問題的過程中,積累了一些心得和體會。這些源自於實踐的經驗,不同於手冊中已有的內容,更多的是通過實驗和具體的套用而進行的總結,具有比較高的實用價值,對具體的項目套用有直接的參考意義。

圖書簡介

本書以ARMCortexM4為核心的恩智浦(NXP)Kinetis系列微控制器作為硬體平台,從嵌入式軟體工程師的實踐角度出發,闡述了基於MCU的嵌入式軟體開發中的若干細節問題。與目前的入門類書籍中對片上外設及固件庫軟體的說明指導相比,書中對實際開發中的具體問題進行了更為詳細的分析:從零開始搭建軟體開發平台,不僅描述了工程模板的創建,還具體分析了晶片的軟硬體啟動過程,尤其對連結過程及典型套用進行了詳述;介紹了幾種典型的嵌入式系統開發框架,根據具體的套用場景選擇程式的組織方式;在低功耗和DMA的相關章節中介紹了降低產品功耗與最佳化性能的典型做法及思路;而作為運行在單片機上的命令行系統、CMSISDSP運算庫及git版本管理系統,都是軟體工程人員常用的功能調試與代碼維護的常用工具,對這些內容也進行了介紹。
本書可作為通信工程、電子信息工程、計算機、微電子等專業相關課程的教材,也可供具有專業背景並有一定C語言及嵌入式開發基礎的在校大學生、研究生以及對嵌入式技術感興趣的讀者參考。

目錄

第1章Kinetis平台概述
1.1ARMCortex系列簡介
1.1.1ARM CortexA
1.1.2ARM CortexR
1.1.3ARM CortexM
1.2恩智浦(NXP)Kinetis系列MCU簡介
1.2.1Kinetis產品家族介紹
1.2.2Kinetis系列晶片的命名規則及選型
1.3開發平台硬體電路分析
1.3.1MCU
1.3.2復位
1.3.3時鐘
1.3.4調試接口
1.3.5LED
1.3.6串口
1.3.7SPI Flash
1.4軟體環境搭建
1.4.1MDK安裝下載
1.4.2串口驅動
1.4.3Jlink驅動安裝
1.4.4下載本書的示例代碼
1.5編譯實例HelloWorld工程
1.6新建工程
1.7本章小結
第2章從零開始
2.1樣例程式
2.2晶片上電
2.3啟動軟體系統
2.3.1分配堆和棧的空間
2.3.3 Flash配置選項
2.3.4復位中斷入口到用戶main函式
2.4分散載入檔案
2.5本章小結
嵌入式軟體設計入門與進階——基於Kinetis K60/K64
第3章連結命令檔案
3.1命令方式存在的連結配置參數
3.2創建sct檔案模板
3.3SCF套用——直接在RAM中調試程式
3.4SCF套用——將程式複製到RAM中執行
3.5本章小結
第4章嵌入式系統軟體的典型開發框架
4.1概述
4.2裸機嵌入式系統的組成
4.3典型的裸機軟體系統實現框架
4.3.1基本的超循環結構
4.3.2使用中斷的前後台結構
4.3.3完全依賴中斷的事件驅動系統
4.3.4狀態機驅動系統
4.4本章小結
第5章低功耗套用設計
5.1概述
5.2K64中的低功耗模式介紹
5.3功耗狀態機模型的運作
5.3.1進入STOP模式操作序列
5.3.2退出STOP模式操作序列
5.3.3中斷進入STOP模式
5.4低功耗所涉及的模組詳解
5.4.1ARM核的系統控制暫存器
5.4.2系統模式控制器
5.4.3低功耗模式下的頻率限制
5.4.4低漏喚醒單元
5.5低功耗套用開發典型模式
5.6K64低功耗編程心得
5.7本章小結
第6章DMA的基本概念
6.1DMA的基本概念
6.2DMA的工作原理
6.3K64的DMA介紹
6.3.1TCD
6.3.2主循環和子循環
6.3.3eDMA通道請求使能開關
6.3.4DMA的觸發源
6.3.5DMA傳輸完成的判斷
6.3.6關於SMOD和DMOD周期性地址傳輸
6.3.7關於DREQ位
6.4使用DMA實現記憶體間搬運的實例
6.4.1DMA TCD的配置
6.4.2等待DMA傳輸完成
6.4.3實驗效果
6.5本章小結
第7章DMA在串列通信匯流排中的套用
7.1通過DMA來進行串口數據收發
7.1.1DMA觸發條件的確定
7.1.2DMA TCD的配置
7.2使用DMA進行SPI通信
7.2.1SPI通信的一般模型
7.2.2DMA觸發條件的確定
7.2.3DMA TCD的配置
7.3本章小結
第8章DMA實現ADC掃描觸發鏈
8.1從套用案例開始
8.1.1明確需求
8.1.2圍繞ADC的軟觸發特性設計觸發鏈
8.2觸發鏈的設計與實現
8.2.1DMA0>ADC0: 實現DMA0自動搬運命令字觸發ADC轉換
8.2.2ADC0>DMA1: 實現ADC轉換完成後觸發DMA1自動搬運
轉換結果
8.2.3PIT0>DMA0: 實現PIT0定期觸發DMA0控制轉換的節奏
8.2.4見縫插針,自定義更加豐富的操作接口
8.3本章小結
第9章使用命令行來幫助開發
9.1概述
9.2Shell的引入
9.2.1單片機中的Shell
9.2.2單片機Shell的輸入和輸出
9.3簡單的Shell軟體設計
9.3.1構建Shell命令結構體
9.3.2獲取輸入命令
9.3.3解析命令
9.3.4調用對應的函式並返回結果
9.4套用實例
9.5本章小結
第10章使用CMSISDSP數學運算庫
10.1什麼是數位訊號處理
10.2浮點運算與定點運算
10.3CMSISDSP簡介
10.4CMSISDSP初探
10.4.1DSP庫的分類
10.4.2使用CMSISDSP庫
10.5基礎數學函式
10.5.1向量絕對值運算
10.5.2向量加法運算
10.5.3向量點積
10.5.4向量(元素)乘積
10.5.5逆向量(反向量)
10.5.6向量平移
10.5.7向量擴圍
10.6快速功能函式
10.6.1快速餘弦函式(Cosine)
10.6.2快速正弦函式(Sine)
10.6.3快速平方根(Square Root)
10.7本章小結
第11章專業的軟體版本控制系統——git
11.1git的誕生
11.1.1git的誕生
11.1.2git的核心——資料庫
11.1.3遠程資料庫和本地資料庫
11.2git入門筆記
11.2.1下載安裝git
11.2.2初始化代碼倉庫
11.2.3添加檔案並提交修改
11.2.4增刪改查git倉庫中的檔案
11.2.5退回到某一個commit
11.2.6使用遠程倉庫
11.2.7克隆遠程庫
11.3本章小結
後記
參考文獻

相關詞條

熱門詞條

聯絡我們