一(yī)、嵌入式STM32中(zhōng),主入從出MISO指的是什麽意思?
嵌入式stm32中(zhōng),主入從出miso指的是什麽意思?
spi通訊中(zhōng),主機接收從機發送過來的資(zī)料,是通過miso引腳來完成的,
spi主機的資(zī)料接收引腳寄,即spi從機資(zī)料傳送引腳
關于嵌入式arm,arm cortex-m3 ,m3指的是什麽意思?
cortex m系列第三代架構。(簡要的說就是晶片設計廠家給出的一(yī)種晶片架構)
arm公司提出的一(yī)種新核心,arm cortex系列還有cortex-a、cortex-b、cortex-m系列。
cortex‐m3處理器核心是微控制器的中(zhōng)央處理單元(cpu)。完整的基于cm3的mcu還需要
很多其它元件。在晶片制造商(shāng)得到cm3處理器核心的使用授權後,它們就可以把cm3核心用
在自己的矽片設計中(zhōng),新增儲存器,外(wài)設,i/o以及其它功能塊。不同廠家設計出的微控制器
會有不同的配置,包括儲存器容量、型别、外(wài)設等都各具特色
我(wǒ)想自學嵌入式,但是像stm32,tq210,arm什麽,都是什麽意思?
stm32是晶片,tq210是天嵌開(kāi)發闆,arm是cpu架構。百度一(yī)下(xià)就有。
嵌入式系統指的是什麽
根據國際電(diàn)氣和電(diàn)子工(gōng)程師協會的定義,嵌入式系統是“用于控制、監視或者輔助操作機器和裝置的裝置”。具體(tǐ)一(yī)點講,嵌入式系統指的是以應用爲中(zhōng)心、以計算機技術爲基礎、軟硬體(tǐ)可裁剪、适用于應用系統,對功能、可靠性、成本、體(tǐ)積、功耗等方面特殊嚴格要求的專用計算機系統。
嵌入式系統的特點:
嵌入式系統是面向特定系統應用的;
嵌入式系統涉及計算機技術、微電(diàn)子技術、電(diàn)子技術、通訊和軟體(tǐ)等各行各業;
嵌入式系統的硬體(tǐ)和軟體(tǐ)都必須具備高度可定制性;
實時作業系統的支援;
嵌入式系統的生(shēng)命周期相當長;
軟體(tǐ)固化于儲存晶片中(zhōng);
專門的開(kāi)發工(gōng)具和環境的支援。
嵌入式實驗編寫keil程式中(zhōng),crq_init()是什麽意思?crq指的是什麽?
crq是 control request 或 certificate request 的縮寫,具體(tǐ)要看你這個函式實現的功能是什麽。
百度嫌我(wǒ)字數不夠
stm32中(zhōng)的ahp和apb指的是什麽
ahb是外(wài)設時鍾使能暫存器,
apb也是外(wài)設時鍾使能暫存器,你要用到哪個外(wài)設就使能某一(yī)位。
system32中(zhōng)的“32”指的是什麽意思?
系統檔案32
因爲現在作業系統都是32位,所有有32,麻煩設定爲好評哦
嵌入式系統到底指的是什麽
嵌入式系統是以應用爲中(zhōng)心,以計算機技術爲基礎,并且軟硬體(tǐ)可裁剪,适用于應用系統對功能、可靠性、成本、體(tǐ)積、功耗有嚴格要求的專用計算機系統。它一(yī)般由嵌入式微處理器、外(wài)圍硬體(tǐ)裝置、嵌入式作業系統以及用 戶的應用程式等四個部分(fēn)組成,用于實現對其他裝置的控制、監視或管理等功能。
嵌入式框架技術指的是什麽技術?
如果是希望向嵌入式軟體(tǐ)方向發展的話(huà),目前最常見的是嵌入式linux方向,關注這個方向,我(wǒ)認爲大(dà)概分(fēn)3個階段:
1、嵌入式linux上層應用,包括qt的gui開(kāi)發
2、嵌入式linux系統開(kāi)發
3、嵌入式linux驅動開(kāi)發
嵌入式目前主要面向的幾個作業系統是,linux,wince、vxworks等等
linux是開(kāi)源免費(fèi)的,而且其原始碼是開(kāi)放(fàng)的,更加适合我(wǒ)們學習嵌入式。
所以你可以嘗試以下(xià)路線:
(1) c語言是所有程式語言中(zhōng)的強者,微控制器、dsp、類似arm的種種晶片的程式設計都可以用c語言搞定),因此必須非常熟練的掌握。
推薦書(shū)籍:《the c programming language》 這本經典的教材是老外(wài)寫的,也有中(zhōng)譯版本。
(2) 作業系統原理,是必需的,如果你是計算機專業畢業那也就無所謂了,如果是非計算機專業的就必須找一(yī)本比較淺顯的計算機原理書(shū)籍看一(yī)看,把啥叫“程序”“執行緒”“系統排程”等等基本問題搞清楚。
(3) (3)linux作業系統就是用c語言編寫的,所以你也應該先學習下(xià)linux方面的程式設計,隻有你會應用了,才能近一(yī)步去(qù)了解其核心的精髓。
推薦書(shū)籍:《unix環境高階程式設計》(第2版)
(4) 了解arm的架構,原理,以及其彙編指令,我(wǒ)們在嵌入式開(kāi)發中(zhōng),一(yī)般很少去(qù)寫彙編,但是最起碼的要求是能夠看懂arm彙編。
(5) 系統移植的時候,就需要你從最下(xià)層的bootloader開(kāi)始,然後核心移植,檔案系統移植等。而移植這部分(fēn)對硬體(tǐ)的依賴是非常大(dà)的,其配置步驟也相對複雜(zá),也沒有太多詳細資(zī)料。
(6) 驅動開(kāi)發
linux驅動程式設計既是個極富有挑戰性的領域,又(yòu)是一(yī)個博大(dà)精深的内容。
linux驅動程式設計本質是屬于linux核心程式設計範疇的,因而是對linux核心和核心程式設計是有要求的。在學習前你要想了解linux核心的組成,因爲每一(yī)部分(fēn)要詳細研究的話(huà)足夠可以擴充套件成一(yī)本厚書(shū)。
以上隻不過是大(dà)概的框架,在實際的開(kāi)發中(zhōng)還會涉及很多東西,比如:交叉編譯、makefile、shell指令碼等等,所以說學習嵌入式的周期較長,門檻較高,自學的話(huà)更是需要較強的學習能力和專業功底。隻要能堅持下(xià)來一(yī)定會取得成功!
avr arm 嵌入式都指的是什麽?概括一(yī)下(xià)!
avr是一(yī)款高檔8爲微控制器。功能強、百度百科avr有詳細的介紹
arm是一(yī)款32爲微控制器,可以說是微處理器。功能更加強大(dà),處理速度更快,百度百科也有詳細介紹。
二、stm32開(kāi)發闆有什麽用
myc-ya157c核心闆/開(kāi)發闆
stm32開(kāi)發闆應用很廣,可以學習做評估,可用于工(gōng)業制造、消費(fèi)電(diàn)子、智能家居、醫療等高性能解決方案的開(kāi)發。
三、Cortex-M3之STM32嵌入式系統設計的目錄
《cortex-m3之stm32嵌入式系統設計》
前言
第1章 概述 1
1.1 嵌入式系統定義 1
1.2 嵌入式系統的發展 1
1.2.1 從單片機到嵌入式系統 1
1.2.2 從芯片級設計到系統級設計 2
1.2.3 從面向器件到面向任務的設計 2
1.2.4 從單處理器設計到多處理器設計 2
1.3 嵌入式系統的應用 3
1.4 arm系列嵌入式系統處理器 4
1.4.1 arm處理器分(fēn)類 4
1.4.2 arm cortex處理器 5
1.4.3 arm coretx-m3處理器 6
1.4.4 arm cortex-a8處理器 7
1.5 從8/16位處理器到arm cortex-m3/m0 7
1.6 常見的cortex-m0/m3系列mcu 9
第2章 stm32最小(xiǎo)系統設計 14
2.1 stm32f103c最小(xiǎo)系統設計方案 14
2.2 最小(xiǎo)系統設計的要素 16
.2.2.1 stm32外(wài)部晶振 16
2.2.2 複位電(diàn)路 18
2.2.3 led、key及boot跳線 19
2.2.4 穩壓電(diàn)源及isp下(xià)載口 20
2.2.5 io端口 23
2.3 pcb圖設計 24
第3章 stm32程序設計入門 26
3.1 stm32入門之hello world程序 26
3.1.1 開(kāi)發環境 26
3.1.2 編寫stm32的c程序 27
3.1.3 用gcc編譯stm32程序 29
3.1.4 stm32程序下(xià)載 30
3.1.5 在obtain_studio中(zhōng)編譯hello world程序 32
3.2 不同開(kāi)發闆的hello world程序 32
3.3 基于stm32固件庫的入門程序 33
3.3.1 stm32固件庫 33
3.3.2 stm32固件庫外(wài)設的初始化和設置 35
3.3.3 基于stm32固件庫的程序設計 36
3.4 基于stm32固件庫的hello world程序代碼分(fēn)析 37
第4章 gpio應用 40
4.1 認識stm32 gpio 40
4.1.1 gpio功能特點 40
4.1.2 stm32 io口的優點 41
4.1.3 stm32固件庫中(zhōng)提供的gpio庫函數 42
4.2 key_led程序 43
4.2.1 創建stm32_c++key_led項目 43
4.2.2 stm32_c++key_led項目程序分(fēn)析 44
4.3 低層代碼分(fēn)析 47
4.3.1 gpio端口的定義 47
4.3.2 ahb/apb橋的配置 49
4.3.3 gpio引腳的配置 50
4.3.4 gpio的讀寫 53
第5章 gcc編譯器的安裝與應用 54
5.1 gcc介紹 54
5.1.1 gcc概述 54
5.1.2 mingw簡介 54
5.1.3 mingw的安裝 55
5.1.4 mingw測試 56
5.1.5 常見gcc用法 58
5.2 arm gcc編譯器 61
5.2.1 winarm編譯器 61
5.2.2 sourcery g++ lite for arm eabi編譯器 62
5.3 obtain_studio集成開(kāi)發系統 64
5.3.1 obtain_studio集成開(kāi)發系統介紹 64
5.3.2 obtain_studio集成開(kāi)發系統常用技巧 67
5.4 gcc make編譯文件設計 69
5.4.1 gcc make常用命令 69
5.4.2 makefile文件規則 71
5.4.3 makefile文件函數 75
5.5 gcc編譯器ld腳本 79
5.5.1 c/c++程序内存空間 79
5.5.2 gcc ld腳本基礎 82
5.5.3 stm32程序中(zhōng)的ld腳本程序 86
第6章 stm32外(wài)部中(zhōng)斷 89
6.1 stm32外(wài)部中(zhōng)斷 89
6.2 stm32外(wài)部中(zhōng)斷實例 90
6.3 stm32中(zhōng)斷配置 92
6.3.1 stm32外(wài)部中(zhōng)斷程序分(fēn)析 92
6.3.2 中(zhōng)斷通道配置 94
6.3.3 中(zhōng)斷優先級配置 94
6.3.4 外(wài)部中(zhōng)斷模式配置 94
6.3.5 外(wài)部中(zhōng)斷響應函數配置 97
第7章 面向對象程序設計 99
7.1 程序風格 99
7.1.1 程序風格的比較 99
7.1.2 編程風格在程序設計中(zhōng)的作用 100
7.2 跨越開(kāi)發闆 100
7.2.1 端口映射的方法 100
7.2.2 模式設置的方法 101
7.3 分(fēn)類與封裝 101
7.3.1 什麽是分(fēn)類與封裝 101
7.3.2 封裝的實現 102
7.4 隐藏與權限 103
7.4.1 隐藏 103
7.4.2 權限 103
7.5 繼承 104
7.5.1 cgpio類的繼承 104
7.5.2 測試cled和ckey類 104
7.6 組裝 105
7.6.1 gpio的組裝 105
7.6.2 gpio組裝的測試 106
7.7 c++在嵌入式系統中(zhōng)的應用 108
7.7.1 c++介紹 108
7.7.2 兼容c語言 108
7.7.3 在c++程序中(zhōng)調用c函數 110
7.7.4 面向對象程序設計語言 110
7.7.5 泛型編程語言 111
7.7.6 stl編程 113
7.7.7 接口編程 114
第8章 usart通信 121
8.1 從51單片機到stm32的串口通信 121
8.2 usart通用串口通信設計 124
8.2.1 usart通用串口 124
8.2.2 usart通用串口通信設計方案 125
8.3 usart通用串口程序設計入門 125
8.3.1 usart數據發送程序設計 125
8.3.2 usart數據接收程序設計 126
8.4 中(zhōng)斷方式的數據接收 127
8.4.1 中(zhōng)斷方式的數據接收程序設計 127
8.4.2 多個串口驅動對象的協同工(gōng)作 128
8.5 usart驅動程序的設計 129
8.5.1 usart驅動程序 129
8.5.2 printf與cout的實現 133
8.6 深入stm32 usart的工(gōng)作原理 136
8.6.1 usart工(gōng)作原理 136
8.6.2 發送器 137
8.6.3 接收器 139
8.6.4 usart初始化函數usart_init 141
8.6.5 usart波特率的計算方法 142
第9章 stm32的工(gōng)作原理 144
9.1 stm32啓動原理 144
9.1.1 stm32啓動過程分(fēn)析 144
9.1.2 stm32軟件複位與功耗控制 145
9.2 系統時鍾分(fēn)析 147
9.2.1 系統時鍾種類 147
9.2.2 stm32固件庫設置時鍾 149
9.2.3 系統時鍾配置 150
9.3 存儲器以及存儲器映射 160
9.4 nvic嵌套中(zhōng)斷向量控制器 162
9.4.1 nvic嵌套中(zhōng)斷向量控制器 162
9.4.2 stm32的nvic優先級 166
9.5 stm32向量表及配置 170
9.5.1 stm32複位後從哪個地址開(kāi)始執行 170
9.5.2 stm32向量表 170
9.5.3 用戶程序中(zhōng)的向量表 171
第10章 定時器與日曆 179
10.1 systick定時器 179
10.1.1 關于systick 179
10.1.2 systick測試程序 180
10.1.3 systick程序分(fēn)析 181
10.2 rtc定時器 184
10.2.1 rtc定時器介紹 184
10.2.2 rtc的本質與測試程序 186
10.2.3 日曆算法 187
10.2.4 stm32的rtc日曆測試程序 190
10.2.5 stm32 rtc程序分(fēn)析 191
10.2.6 rtc秒中(zhōng)斷 193
10.2.7 rtc鬧鍾 195
10.2.8 rtc校準 197
10.3 通用定時器 198
10.3.1 stm32定時器的種類 198
10.3.2 通用定時器介紹 200
10.3.3 通用定時器基本應用程序設計 200
10.3.4 通用定時器常用模式 203
10.3.5 輸出模式測試實例 205
10.3.6 輸入捕獲模式測試實例 206
第11章 adc應用 209
11.1 adc與數字信号處理系統設計 209
11.1.1 數字信号處理系統設計 209
11.1.2 stm32簡單的adc應用實例 212
11.1.3 過采樣技術 213
11.1.4 欠采樣技術 215
11.2 stm32的adc簡介 216
11.3 stm32 adc入門實例 220
11.3.1 stm32 adc入門測試程序 220
11.3.2 stm32 adc程序分(fēn)析 221
11.3.3 stm32内部溫度測量 228
11.4 stm32 adc注入方式 229
11.4.1 stm32 adc注入方式簡介 229
11.4.2 stm32雙adc模式 230
11.4.3 stm32 adc注入方式實例 230
第12章 dma應用 235
12.1 stm32的dma簡介 235
12.1.1 任務轉移策略 235
12.1.2 stm32的dma功能 236
12.2 dma在adc中(zhōng)的應用 238
12.2.1 任務轉移策略的dma adc應用實例 238
12.2.2 dma_adc程序分(fēn)析 240
12.3 dma在usart中(zhōng)的應用 245
12.3.1 任務轉移策略的usart dma數據發送 245
12.3.2 任務轉移策略的usart dma數據接收 248
12.3.3 任務隊列策略的usart dma發送中(zhōng)斷應用 251
12.3.4 任務循環策略的usart dma接收中(zhōng)斷應用 254
第13章 備份寄存器與看門狗程序 258
13.1 stm32備份寄存器 258
13.1.1 備份寄存器特點 258
13.1.2 bkp應用實例 259
13.2 stm32看門狗 261
13.2.1 stm32看門狗介紹 261
13.2.2 獨立看門狗介紹 262
13.2.3 獨立看門狗程序設計 263
13.2.4 窗口看門狗介紹 265
13.2.5 窗口看門狗測試程序 267
第14章 tft驅動與顯示 269
14.1 lcd概述 269
14.1.1 lcd簡介 269
14.1.2 lcd接口 270
14.2 ili9xx系列tft驅動芯片 271
14.3 tft測試程序 275
14.3.1 tft測試程序準備工(gōng)作 275
14.3.2 tft測試主程序 275
14.3.3 字符的顯示 277
14.4 基于fsmc的tft驅動程序設計 279
14.4.1 stm32的fsmc功能 279
14.4.2 fsmc與tft端口連接與端口映射 279
14.4.3 fsmc與tft的内存空間映射與操作 281
14.4.4 fsmc初始化 282
14.4.5 tft初始化 287
14.4.5 tft驅動程序統一(yī)接口函數的實現 290
14.5 基于gpio的tft驅動程序設計 292
第15章 觸摸屏驅動 297
15.1 觸摸屏介紹 297
15.2 觸摸屏驅動ic 300
15.3 觸摸屏測試項目 302
15.4 觸摸屏驅動程序分(fēn)析 303
15.5 觸摸屏校準 311
15.5.1 觸摸屏校準算法 311
15.5.2 觸摸屏校準的實現 312
第16章 sd卡驅動與fat文件系統 316
16.1 stm32的sdio接口 316
16.1.1 常見存儲卡種類 316
16.1.2 sd卡結構 317
16.1.3 stm32的sdio接口 318
16.2 fat文件系統 320
16.2.1 fat文件系統概述 320
16.2.2 fatfs介紹 321
16.3 stm32 sdio接口 324
16.4 sd卡文件讀寫實例 326
16.4.1 準備工(gōng)作 326
16.4.2 sd卡文件讀寫實例 327
16.4.3 sd卡文件操作類cfile的設計 328
16.4.4 目錄操作 329
第17章 μc/os-Ⅱ在stm32上的移植 331
17.1 μc/os-Ⅱ概述 331
17.1.1 μc/os-Ⅱ簡介 331
17.1.2 μc/os-Ⅱ的組成部分(fēn) 331
17.2 μc/os-Ⅱ移植到stm32 332
17.3 μc/os-Ⅱ工(gōng)作原理 337
17.3.1 μc/os-Ⅱ啓動過程 337
17.3.2 任務切換的相關函數解析 338
第18章 漢字與圖形圖像顯示 343
18.1 漢字顯示 343
18.1.1 漢字庫 343
18.1.2 程序中(zhōng)加入漢字庫實現漢字顯示 345
18.1.3 使用sd卡上的漢字庫實現漢字顯示 346
18.2 圖形繪制 350
18.3 圖像顯示 353
18.3.1 位圖與bmp文件格式 353
18.3.2 bmp文件操作 356
18.3.3 bmp圖像顯示測試程序 359
第19章 攝像頭驅動與圖像采集 362
19.1 攝像頭接口 362
19.1.1 圖像傳感器 362
19.1.2 ov7670攝像頭 362
19.1.3 cmos攝像頭接口 364
19.2 cmos攝像頭測試程序 366
19.3 深入cmos攝像頭驅動程序原理 368
19.3.1 sccb協議 368
19.3.2 sccb協議驅動程序設計 370
19.3.3 cmos攝像頭驅動程序設計 373
第20章 以太網及web遠程控制系統設計 378
20.1 enc28j60以太網控制器 378
20.2 網絡測試程序 382
20.2.1 web server測試 382
20.2.2 udp通信測試 385
20.3 ip/icmp協議與ping命令的實現 386
20.3.1 以太網數據包結構 386
20.3.2 ip協議 387
20.3.3 icmp協議 389
20.3.4 ping命令 392
20.3.5 ping命令的實現 393
20.4 udp通信原理 393
20.4.1 udp協議 393
20.4.2 udp通信的實現 394
20.5 web server程序設計 399
20.5.1 web server原理 399
20.5.2 tcp設計 402
20.5.3 web server設計 403
20.6 enc28j60驅動程序設計 405
20.6.1 stm32 spi接口 405
20.6.2 stm32 spi驅動程序 407
20.6.3 enc28j60驅動程序 409
參考文獻 417