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

首頁 > 學院 > 開發設計 > 正文

ARM:嵌入式系統介紹、開發板環境設置、tftp實現文件下載、SecureCRT工具燒寫

2019-11-14 13:00:47
字體:
來源:轉載
供稿:網友
'《ARM》'【進程和線程的區別?】    "線程,是執行的基本單位,線程共享進程的資源"。    "進程,是資源分配的基本單位,調度的單位"。    一個進程里可以有多個線程。    每個進程都至少有一個線程,這個線程是進程的主線程?!具M程間的通訊方式?各有什么特點?】【線程間的同步方式?】【共享資源的互斥策略?】【談談對嵌入式軟件開發的認識】【給你一塊開發板,如何把它用起來】【給你一個芯片,如何寫好驅動程序】【OSI七層模型,每層模型舉1個協議出來】C語言練習:重視'數據結構'。【提高C語言的方式】:    1. 數據結構課程的練習題目        堆        棧        隊列        -> 鏈式存儲的方式實現(練的就是指針)    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  ---> 段錯誤!            return 0;        }        'eg2:        void func (char* str) {  // 需要使用二級指針才行            str = malloc (100);        }        int main (void) {            char* p = NULL;            func (p);             strcpy (p, "hello"); // *p上一樣是0,沒有內存空間            printf ("%s/n", p); // 段錯誤!            return 0;        }-------------------------------------------------1、ARM體系結構與編程 - ARM裸板開發(不帶操作系統)    main () {        xxx;        yyy;        while (1) {            ...        }    }    異常處理...    |    v    >:搭建嵌入式開發環境    >:LED    >:UART 串口    >:g-sensor 重力傳感器    >:ARM 匯編    >:異常處理2、系統移植    bootloader 的移植        u-boot    kernel的移植                linux    根文件系統的制作3、linux驅動程序開發    內核知識    驅動框架的知識    硬件知識4、項目    智能家居    智能車-------------------------------------------------1、嵌入式系統    以'應用'為中心,軟硬件的'裁剪'    對功能性、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。    大數據、云計算、物聯網(智能家居/車聯網)、智能穿戴、AR/VR2、嵌入式系統的構成【硬件系統】    --->最小系統 (設計開發板的時候必須存在的硬件)包含            :'處理器'        arm/51單片機/mips/powerpc/intel            :'電源電路'    硬件設計不好易死機            :'復位電路'            :'時鐘電路'    <==> 相當于心跳,提供周期性的信號            :'存儲電路'    掉電丟失:RAM (<==>PC機的內存)                                                sram靜態/dram動態/ddram                                掉電不丟失: ROM(<==>PC機的硬盤)                                                Flash/nandflash                                                emmc: nandflash + 控制電【軟件系統】    :'驅動程序'        控制硬件工作的程序    :'OS'                Operate system (實時操作系統  vs  非實時操作系統)                            linux : '非實時操作系統',取決于操作系統的調度策略                                        linux中主要的調度策略是 '時間片輪轉'。                            Rtlinux:'實時操作系統',基于優先級調度策略。                            實時操作系統:ucos-II / Vxworks                             '操作系統中常見調度策略':                                1. 時間片輪轉;                                2. 先來先服務;                                3. 基于優先級;                            WinCE / qnx    :'應用程序'        范圍很廣很多了...                            所需技能:C語言、QT、Unix-C、數據庫(sqlite)3、開發模式在PC機上軟件開發:vi hello.c  --->  gcc hello.c  --->  ./a.out在嵌入式環境下開發:    1. 開發主機,PC (完成代碼的編輯、編譯工作);    2. 目標板,開發板 (運行編譯后的可執行程序);    3. 開發主機和目標板的通信方式:USB線 / 串口線 / 網線 / JTAG調試口4、硬件簡介4.1 核心板        (www.arm.com - 了解arm核版本,A53...)    【CPU】s5p6818 - 三星生產,基于cortex-A53 - 8核1.4GHz    【DDRAM】海力士 - 1GB    【EMMC】三星 - 8GB    【網卡】REALTEK - 臺灣 - PHY(物理層)    【電源管理芯片】略 - 不用管4.2 底板    連線:        電源線        串口線        網線5、uboot燒寫到emmc    env/ubootpak.bin    A. 燒寫過程可以通過usb線來完成 fastboot    B. 也可以通過TF卡的方式來完成燒寫    ' TF卡燒寫步驟:        1. 將TF卡插入讀卡器,將讀卡器插入電腦;        2. 格式化TF卡(FAT32 - 文件系統),可選可不選快速格式化;        3. env/IROM_Fusing_ToolV2.0.zip - 解壓出可執行程序:            IROM_Fusing_Tool.exe - 運行此程序;        4. 選擇對應的分區;        5. 點擊Browse找到選擇要寫入的文件ubootpak.bin,點擊add;        6. 點擊START,完成寫入;        7. 將TF卡插入開發板的SD0插槽,開發板啟動時默認從TF卡讀取并執行        8. 啟動PC上的串口軟件            env/SecureCRT.rar - 解壓 (放在'非中文路徑')            SecureCRT.exe - 放到桌面快捷方式,啟動            Alt + Q  快速鏈接 (或 點擊第二個圖標)            > 協議:Serial            > 端口:COM1  // 筆記本COMx                (計算機 - 屬性 - 硬件 - 設備管理器 - 端口 / 筆記本單獨看一下)            > 波特率:115200            > 數據位:8            > 奇偶校驗:None            > 停止位:1            > 流控:RTS/CTS (去掉勾選,空著)            ---> 【連接】        9. 復位開發板            在倒數讀秒 (3 s) 計時過程中按下空格鍵,進入 X6818# 命令行模式5.1 保證開發板可以ping通服務器    > 純Ubuntu系統只要保證開發板和ubuntu系統處于同一網段即可。    > 虛擬機中需要注意三點:        1) 開發板、ubuntu系統、windows三者處于同一網段            ubuntu系統: 192.168.1.8    255.255.255.0            開發板:         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                    // 寫入環境變量到掉電不丟失的EMMC中            windows:     192.168.1.121                    注意修改的是連接開發板的網卡的ip - 方法:拔插開發板網線        2) 設置VMware的橋接模式            VMware - 【虛擬機】 - 設置 - 網絡適配器 - 橋接模式(B)        3) 選擇用于橋接的網卡            VMware - 【編輯】 - 虛擬網絡編輯器 - 橋接模式 - 橋接到(開發板對應的網卡,在本地連接中可以看名字,鼠標放在圖標上即可)        >> 在串口中執行命令                    X6818#:'ping 192.168.1.8                    看到" host 192.168.1.8 is alive "此行內容即為ping通,成功。                    注意:                        a. 不能主機ping開發板;                        b. 第一執行ping時不成功,忽略;(一直ping不通檢查網線)5.2 使用tftp協議的方式完成windows下的ubootpak.bin的下載    tftp:tftp是ftp協議的簡化版本,其中沒有用戶管理的功能。【tftp服務器】    1) 在ubuntu系統中 --->        聯網方式:$:'sudo apt-get install tftpd-hpa [-d]        // VM聯外網的方式:設置 - 網絡適配器 - NAT,ubuntu ip自動獲得        非聯網方式:        $:'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(內存)的0x48000000為開始的地址上了。    // 0x48000000 是物理地址,它是開發板上的物理地址,該物理地址對應的是哪個ddram,詳見 cpu datasheet。X6818#:'update_mmc 2 2ndboot 0x48000000 0x200 0x53bb0    // 2: 2th mmc 存儲設備(SD0 - 0,SD1 - 1,EMMC - 2)    // 2ndboot:要更新的分區    // 0x48000000:源數據地址    // 0x200:源數據寫入2ndboot分區的便宜(實際有512kb)    // 0x53bb0:寫入的字節數(ubootpak.bin文件下載下來的大?。炞C:    將TF卡從開發板上拔下來,復位開發板。    // ubootpak.bin 文件會被自動從EMMC加載到dram(內存)中6、led.bin文件的下載和運行    env/led.bin    $:'sudo cp /mnt/hgfs/env/led.bin /tftpboot/    開發板上執行:    $:'tftp 0x48000000 led.bin    $:'go 0x48000000    // 開發板上藍色的led燈會亮要寫好led.bin需要提前預習閱讀:** 閱讀CPU的數據手冊,在env/DataSheet.rar里面的說明文件(三星原廠)    SEC_S5P6818X_Users_Manual_preliminary_Ver_0.00.pdf    主要看第16章。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高要市| 凉山| 云南省| 壤塘县| 开江县| 霍州市| 温州市| 江北区| 东莞市| 武城县| 濉溪县| 河西区| 汪清县| 南开区| 封丘县| 安泽县| 广州市| 鄂托克前旗| 盱眙县| 新宾| 连城县| 万山特区| 大港区| 桐柏县| 扎鲁特旗| 石狮市| 盐边县| 宝鸡市| 广河县| 油尖旺区| 邢台县| 眉山市| 滕州市| 社旗县| 南昌市| 达孜县| 海南省| 杭锦后旗| 定陶县| 晋州市| 海安县|