国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ARM:嵌入式系統(tǒng)介紹、開發(fā)板環(huán)境設(shè)置、tftp實(shí)現(xiàn)文件下載、SecureCRT工具燒寫

2019-11-14 12:02:36
字體:
供稿:網(wǎng)友
'《ARM》'【進(jìn)程和線程的區(qū)別?】    "線程,是執(zhí)行的基本單位,線程共享進(jìn)程的資源"。    "進(jìn)程,是資源分配的基本單位,調(diào)度的單位"。    一個(gè)進(jìn)程里可以有多個(gè)線程。    每個(gè)進(jìn)程都至少有一個(gè)線程,這個(gè)線程是進(jìn)程的主線程。【進(jìn)程間的通訊方式?各有什么特點(diǎn)?】【線程間的同步方式?】【共享資源的互斥策略?】【談?wù)剬?duì)嵌入式軟件開發(fā)的認(rèn)識(shí)】【給你一塊開發(fā)板,如何把它用起來】【給你一個(gè)芯片,如何寫好驅(qū)動(dòng)程序】【OSI七層模型,每層模型舉1個(gè)協(xié)議出來】C語言練習(xí):重視'數(shù)據(jù)結(jié)構(gòu)'。【提高C語言的方式】:    1. 數(shù)據(jù)結(jié)構(gòu)課程的練習(xí)題目        堆        棧        隊(duì)列        -> 鏈?zhǔn)酱鎯?chǔ)的方式實(shí)現(xiàn)(練的就是指針)    2. arm/env/MS.rar        每天做1-2套面試題。        'eg1:        int main (void) {            char* p; // 或 char* p = NULL;            strcpy (p, "hello");            PRintf ("%s/n", p);  // a.out  ---> 段錯(cuò)誤!            return 0;        }        'eg2:        void func (char* str) {  // 需要使用二級(jí)指針才行            str = malloc (100);        }        int main (void) {            char* p = NULL;            func (p);             strcpy (p, "hello"); // *p上一樣是0,沒有內(nèi)存空間            printf ("%s/n", p); // 段錯(cuò)誤!            return 0;        }-------------------------------------------------1、ARM體系結(jié)構(gòu)與編程 - ARM裸板開發(fā)(不帶操作系統(tǒng))    main () {        xxx;        yyy;        while (1) {            ...        }    }    異常處理...    |    v    >:搭建嵌入式開發(fā)環(huán)境    >:LED    >:UART 串口    >:g-sensor 重力傳感器    >:ARM 匯編    >:異常處理2、系統(tǒng)移植    bootloader 的移植        u-boot    kernel的移植                linux    根文件系統(tǒng)的制作3、linux驅(qū)動(dòng)程序開發(fā)    內(nèi)核知識(shí)    驅(qū)動(dòng)框架的知識(shí)    硬件知識(shí)4、項(xiàng)目    智能家居    智能車-------------------------------------------------1、嵌入式系統(tǒng)    以'應(yīng)用'為中心,軟硬件的'裁剪'    對(duì)功能性、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。    大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)(智能家居/車聯(lián)網(wǎng))、智能穿戴、AR/VR2、嵌入式系統(tǒng)的構(gòu)成【硬件系統(tǒng)】    --->最小系統(tǒng) (設(shè)計(jì)開發(fā)板的時(shí)候必須存在的硬件)包含            :'處理器'        arm/51單片機(jī)/mips/powerpc/intel            :'電源電路'    硬件設(shè)計(jì)不好易死機(jī)            :'復(fù)位電路'            :'時(shí)鐘電路'    <==> 相當(dāng)于心跳,提供周期性的信號(hào)            :'存儲(chǔ)電路'    掉電丟失:RAM (<==>PC機(jī)的內(nèi)存)                                                sram靜態(tài)/dram動(dòng)態(tài)/ddram                                掉電不丟失: ROM(<==>PC機(jī)的硬盤)                                                Flash/nandflash                                                emmc: nandflash + 控制電【軟件系統(tǒng)】    :'驅(qū)動(dòng)程序'        控制硬件工作的程序    :'OS'                Operate system (實(shí)時(shí)操作系統(tǒng)  vs  非實(shí)時(shí)操作系統(tǒng))                            linux : '非實(shí)時(shí)操作系統(tǒng)',取決于操作系統(tǒng)的調(diào)度策略                                        linux中主要的調(diào)度策略是 '時(shí)間片輪轉(zhuǎn)'。                            Rtlinux:'實(shí)時(shí)操作系統(tǒng)',基于優(yōu)先級(jí)調(diào)度策略。                            實(shí)時(shí)操作系統(tǒng):ucos-II / Vxworks                             '操作系統(tǒng)中常見調(diào)度策略':                                1. 時(shí)間片輪轉(zhuǎn);                                2. 先來先服務(wù);                                3. 基于優(yōu)先級(jí);                            WinCE / qnx    :'應(yīng)用程序'        范圍很廣很多了...                            所需技能:C語言、QT、Unix-C、數(shù)據(jù)庫(sqlite)3、開發(fā)模式在PC機(jī)上軟件開發(fā):vi hello.c  --->  gcc hello.c  --->  ./a.out在嵌入式環(huán)境下開發(fā):    1. 開發(fā)主機(jī),PC (完成代碼的編輯、編譯工作);    2. 目標(biāo)板,開發(fā)板 (運(yùn)行編譯后的可執(zhí)行程序);    3. 開發(fā)主機(jī)和目標(biāo)板的通信方式:USB線 / 串口線 / 網(wǎng)線 / JTAG調(diào)試口4、硬件簡(jiǎn)介4.1 核心板        (www.arm.com - 了解arm核版本,A53...)    【CPU】s5p6818 - 三星生產(chǎn),基于cortex-A53 - 8核1.4GHz    【DDRAM】海力士 - 1GB    【EMMC】三星 - 8GB    【網(wǎng)卡】REALTEK - 臺(tái)灣 - PHY(物理層)    【電源管理芯片】略 - 不用管4.2 底板    連線:        電源線        串口線        網(wǎng)線5、uboot燒寫到emmc    env/ubootpak.bin    A. 燒寫過程可以通過usb線來完成 fastboot    B. 也可以通過TF卡的方式來完成燒寫    ' TF卡燒寫步驟:        1. 將TF卡插入讀卡器,將讀卡器插入電腦;        2. 格式化TF卡(FAT32 - 文件系統(tǒng)),可選可不選快速格式化;        3. env/IROM_Fusing_ToolV2.0.zip - 解壓出可執(zhí)行程序:            IROM_Fusing_Tool.exe - 運(yùn)行此程序;        4. 選擇對(duì)應(yīng)的分區(qū);        5. 點(diǎn)擊Browse找到選擇要寫入的文件ubootpak.bin,點(diǎn)擊add;        6. 點(diǎn)擊START,完成寫入;        7. 將TF卡插入開發(fā)板的SD0插槽,開發(fā)板啟動(dòng)時(shí)默認(rèn)從TF卡讀取并執(zhí)行        8. 啟動(dòng)PC上的串口軟件            env/SecureCRT.rar - 解壓 (放在'非中文路徑')            SecureCRT.exe - 放到桌面快捷方式,啟動(dòng)            Alt + Q  快速鏈接 (或 點(diǎn)擊第二個(gè)圖標(biāo))            > 協(xié)議:Serial            > 端口:COM1  // 筆記本COMx                (計(jì)算機(jī) - 屬性 - 硬件 - 設(shè)備管理器 - 端口 / 筆記本單獨(dú)看一下)            > 波特率:115200            > 數(shù)據(jù)位:8            > 奇偶校驗(yàn):None            > 停止位:1            > 流控:RTS/CTS (去掉勾選,空著)            ---> 【連接】        9. 復(fù)位開發(fā)板            在倒數(shù)讀秒 (3 s) 計(jì)時(shí)過程中按下空格鍵,進(jìn)入 X6818# 命令行模式5.1 保證開發(fā)板可以ping通服務(wù)器    > 純Ubuntu系統(tǒng)只要保證開發(fā)板和ubuntu系統(tǒng)處于同一網(wǎng)段即可。    > 虛擬機(jī)中需要注意三點(diǎn):        1) 開發(fā)板、ubuntu系統(tǒng)、windows三者處于同一網(wǎng)段            ubuntu系統(tǒng): 192.168.1.8    255.255.255.0            開發(fā)板:         192.168.1.6    255.255.255.0                    SerialCRT軟件下Serial-COM1(1)的命令行下                    X6818#:'printenv    // ipaddr / netmask / serverip                    X6818#:'setenv ipaddr 192.168.1.6                    X6818#:'setenv serveraddr 192.168.1.8                    X6818#:'saveenv                    // 寫入環(huán)境變量到掉電不丟失的EMMC中            windows:     192.168.1.121                    注意修改的是連接開發(fā)板的網(wǎng)卡的ip - 方法:拔插開發(fā)板網(wǎng)線        2) 設(shè)置VMware的橋接模式            VMware - 【虛擬機(jī)】 - 設(shè)置 - 網(wǎng)絡(luò)適配器 - 橋接模式(B)        3) 選擇用于橋接的網(wǎng)卡            VMware - 【編輯】 - 虛擬網(wǎng)絡(luò)編輯器 - 橋接模式 - 橋接到(開發(fā)板對(duì)應(yīng)的網(wǎng)卡,在本地連接中可以看名字,鼠標(biāo)放在圖標(biāo)上即可)        >> 在串口中執(zhí)行命令                    X6818#:'ping 192.168.1.8                    看到" host 192.168.1.8 is alive "此行內(nèi)容即為ping通,成功。                    注意:                        a. 不能主機(jī)ping開發(fā)板;                        b. 第一執(zhí)行ping時(shí)不成功,忽略;(一直ping不通檢查網(wǎng)線)5.2 使用tftp協(xié)議的方式完成windows下的ubootpak.bin的下載    tftp:tftp是ftp協(xié)議的簡(jiǎn)化版本,其中沒有用戶管理的功能。【tftp服務(wù)器】    1) 在ubuntu系統(tǒng)中 --->        聯(lián)網(wǎng)方式:$:'sudo apt-get install tftpd-hpa [-d]        // VM聯(lián)外網(wǎng)的方式:設(shè)置 - 網(wǎng)絡(luò)適配器 - NAT,ubuntu ip自動(dòng)獲得        非聯(lián)網(wǎng)方式:        $:'cd /home/tarena/Downloads/tftp        $:'sudo dpkg -i *.deb    2) 配置tftp server:        $:'sudo vi /etc/default/tftpd-hpa        ---> TFTP_DIRECTORY="/tftpboot"    // tftp客戶端登陸后文件目錄    3) 要想讓新的配置生效需要重啟tftp server,重啟方式:        $:'sudo /etc/init.d/tftpd-hpa restart    4) 將要供客戶端下載的文件拷貝到/tftpboot/目錄下        $:'sudo cp /mnt/hgfs/arm/env/ubootpak.bin /tftpboot/        //     $:' sudo chmod +w /tftpboot/ -R      此行命令可用sudo cp ...解決【tftp客戶端】 // 確保 serverip=192.168.1.8X6818#:'tftp 0x48000000 ubootpak.bin    該命令下載ubootpak.bin到dram(內(nèi)存)的0x48000000為開始的地址上了。    // 0x48000000 是物理地址,它是開發(fā)板上的物理地址,該物理地址對(duì)應(yīng)的是哪個(gè)ddram,詳見 cpu datasheet。X6818#:'update_mmc 2 2ndboot 0x48000000 0x200 0x53bb0    // 2: 2th mmc 存儲(chǔ)設(shè)備(SD0 - 0,SD1 - 1,EMMC - 2)    // 2ndboot:要更新的分區(qū)    // 0x48000000:源數(shù)據(jù)地址    // 0x200:源數(shù)據(jù)寫入2ndboot分區(qū)的便宜(實(shí)際有512kb)    // 0x53bb0:寫入的字節(jié)數(shù)(ubootpak.bin文件下載下來的大小)驗(yàn)證:    將TF卡從開發(fā)板上拔下來,復(fù)位開發(fā)板。    // ubootpak.bin 文件會(huì)被自動(dòng)從EMMC加載到dram(內(nèi)存)中6、led.bin文件的下載和運(yùn)行    env/led.bin    $:'sudo cp /mnt/hgfs/env/led.bin /tftpboot/    開發(fā)板上執(zhí)行:    $:'tftp 0x48000000 led.bin    $:'go 0x48000000    // 開發(fā)板上藍(lán)色的led燈會(huì)亮要寫好led.bin需要提前預(yù)習(xí)閱讀:** 閱讀CPU的數(shù)據(jù)手冊(cè),在env/DataSheet.rar里面的說明文件(三星原廠)    SEC_S5P6818X_Users_Manual_preliminary_Ver_0.00.pdf    主要看第16章。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南充市| 揭东县| 凉城县| 子长县| 米泉市| 合阳县| 安多县| 湖口县| 承德市| 西平县| 嘉峪关市| 讷河市| 元朗区| 岳阳市| 会宁县| 巴林左旗| 慈利县| 龙山县| 建宁县| 望奎县| 新宾| 金溪县| 宜兰县| 无棣县| 洛川县| 河北省| 安图县| 大理市| 茌平县| 勐海县| 临西县| 罗田县| 田林县| 扎囊县| 汾西县| 和林格尔县| 金塔县| 汨罗市| 宣汉县| 黄大仙区| 闽侯县|