中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

廈門網(wǎng)站建設(shè)哪家公司好實(shí)時(shí)熱榜

廈門網(wǎng)站建設(shè)哪家公司好,實(shí)時(shí)熱榜,深圳網(wǎng)站搜索優(yōu)化,校園網(wǎng)站怎么做HTML1. 建立交叉編譯鏈接環(huán)境 官網(wǎng)下載的SDK包中就有交叉工具鏈,米爾提供的這個(gè) SDK 中除了包含各種源代碼外還提供了必要的交叉工具鏈,可以直接用于編譯應(yīng)用程序等。 用戶可以直接使用次交叉編譯工具鏈來建立一個(gè)獨(dú)立的開發(fā)環(huán)境,可單獨(dú)編譯…

1. 建立交叉編譯鏈接環(huán)境

? ? ? 官網(wǎng)下載的SDK包中就有交叉工具鏈,米爾提供的這個(gè) SDK 中除了包含各種源代碼外還提供了必要的交叉工具鏈,可以直接用于編譯應(yīng)用程序等。
? ? ? 用戶可以直接使用次交叉編譯工具鏈來建立一個(gè)獨(dú)立的開發(fā)環(huán)境,可單獨(dú)編譯 Bootloade
r,Kernel 或者編譯自己的應(yīng)用程序。我們這一節(jié)重點(diǎn)是編譯應(yīng)用程序。?

? ? 1.1 建立虛擬機(jī)環(huán)境

? 當(dāng)然,前提是先安裝虛擬機(jī),我們開發(fā)環(huán)境配置在ubuntu18.04虛擬機(jī)下。?

?1.2. 下載并安裝SDK

官網(wǎng)鏈接:?MYIR

源碼暫不提供 ,應(yīng)該是需要單獨(dú)申請(qǐng),沒關(guān)系,并不影響我們應(yīng)用程序開發(fā)。?

建立工具鏈目錄,并解壓,完成后:?

1.3 環(huán)境配置

開發(fā)包里寫好了env.sh腳本,可以完成環(huán)境配置:?

#!/bin/shexport PATH=$PATH:/home/hy/jd9x/tool/gcc_linaro/gcc-arm-none-eabi-7.3.1/bin:/home/hy/jd9x/tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin:/home/hy/jd9x/tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export PREFIX=aarch64-linux-gnu-
export AS=aarch64-linux-gnu-as
export LD=aarch64-linux-gnu-ld
export CC=aarch64-linux-gnu-gcc
export AR=aarch64-linux-gnu-ar
export NM=aarch64-linux-gnu-nm
export STRIP=aarch64-linux-gnu-strip
export OBJCOPY=aarch64-linux-gnu-objcopy
export OBJDUMP=aarch64-linux-gnu-objdump

主要也是配置各種路徑參數(shù)。

2. 測試下環(huán)境安裝情況:?

~/jd9x$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/home/hy/jd9x/tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/7.3.1/lto-wrapper
Target: aarch64-linux-gnu
Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/snapshots/gcc.git~linaro-7.3-2018.05/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --with-system-zlib --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-arch=armv8-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/sysroots/aarch64-linux-gnu --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu/aarch64-linux-gnu/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) 

看起來應(yīng)該沒什么問題了。?

3. Hello World小應(yīng)用,編譯下載,運(yùn)行

3.1 編輯makefile

TARGET = $(notdir $(CURDIR))
objs := $(patsubst %c, %o, $(shell ls *.c))
$(TARGET)_app:$(objs)$(CC) -o $@ $^
%.o:%.c$(CC) -c -o $@ $<
clean:rm -f $(TARGET)_app *.all *.o${CC} -I . -c helloWorld.

稍稍解釋下:?

Makefile 有其自身的一套規(guī)則。
target ... : prerequisites ...
command?

其中:?

??target 可以是一個(gè) object file(目標(biāo)文件),也可以是一個(gè)執(zhí)行文件,還可以是一個(gè)
標(biāo)簽(label)。
?prerequisites 就是要生成那個(gè) target 所需要的文件或是目標(biāo)。
?command 也就是 make 需要執(zhí)行的命令。

?所以,上面的make文件的內(nèi)容解析:?

?$(notdir $(path)): 表示把 path 目錄去掉路徑名,只留當(dāng)前目錄名,比如當(dāng)
前 Makefile 目錄為/home/wujl/key_led,執(zhí)行為就變?yōu)?TARGET = key_led
?$(patsubst pattern, replacement,text) :用 replacement 替換 text 中符合
格式"pattern" 的字符,如$(patsubst %c, %o, $(shell ls *.c)),表示先列出
當(dāng)前目錄后綴為.c 的文件,然后換成后綴為.o
?CC:C 編譯器的名稱
?CXX: C++編譯器的名稱
?clean: 是一個(gè)約定的目標(biāo)

3.2 編輯應(yīng)用代碼:?


#include <stdio.h>
#include <stdlib.h>
#include <string.h>/* print helloworld */
int main(int argc, char **argv)
{printf("j9x, hello world  \n");return 0;
}

3.3? ?在項(xiàng)目目錄下,編譯:?

生成可執(zhí)行的應(yīng)用程序helloWorld_app

3.4 目標(biāo)機(jī)執(zhí)行

此時(shí),可以用filezilla把上述可執(zhí)行文件copy到目標(biāo)機(jī)目錄下:

?

轉(zhuǎn)移至secureCRT調(diào)試頁面,執(zhí)行剛剛copy過來的可執(zhí)行文件:?

root@myd-jd9x:~/app# ls
helloWorld_app
root@myd-jd9x:~/app# ./helloWorld_app 
-sh: ./helloWorld_app: Permission denied
root@myd-jd9x:~/app# cd ../
root@myd-jd9x:~# chmod 777 app -R
root@myd-jd9x:~# cd app
root@myd-jd9x:~/app# ./helloWorld_app 
j9x, hello world  
root@myd-jd9x:~/app# 

中間遇到讀寫權(quán)限問題,用chmod命令設(shè)置下。?

4. 資源調(diào)用-配置點(diǎn)燈

4.1 環(huán)境測試

linux下,一切皆是文件,外設(shè)也是。?

操作 LED 的目錄為/sys/class/leds

root@myd-jd9x:~/app# cd /sys/class/leds
root@myd-jd9x:/sys/class/leds# ls
debug   mmc0::  mmc1::  mmc2::  run
root@myd-jd9x:/sys/class/leds#

?測試debug燈不同狀態(tài)

讀取,熄滅,點(diǎn)亮,觸發(fā)模式:

root@myd-jd9x:/sys/class/leds# cat ./debug/brightness
0root@myd-jd9x:/sys/class/leds# echo 0 > ./debug/brightness
root@myd-jd9x:/sys/class/leds# echo 1 > ./debug/brightness
root@myd-jd9x:/sys/class/leds# echo timer > ./debug/trigger
root@myd-jd9x:/sys/class/leds# echo heartbeat > ./debug/trigger

?4.2 編寫應(yīng)用程序

功能: 根據(jù)輸入?yún)?shù)來配置debug按不同模式來工作

off: 關(guān)閉

mode0: timer

mode1: heartbeat

代碼:?

#include <linux/input.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
/* ./key_led /dev/input/event0 noblock */
int main(int argc, char **argv)
{int fd,bg_fd;int err, len, i;unsigned char flag;unsigned int data[1];char *bg = "/sys/class/leds/debug/trigger";struct input_event event;
if(argc>2){
printf("argv must in 0-2. \n");
return -1;
}
if(!strcmp(argv[1],"mode0")){
printf("blink mode 0. \n");
system("echo timer > /sys/class/leds/debug/trigger");
return 0;
}
if(!strcmp(argv[1],"mode1")){
printf("blink mode 1. \n");
system("echo heartbeat > /sys/class/leds/debug/trigger");
return 0;
}if(!strcmp(argv[1],"off")){
printf("blink mode off. \n");
system("echo 0 > /sys/class/leds/debug/brightness"); 
return 0;
}
else{
printf("blink set error. \n");
}

編譯測試:?

root@myd-jd9x:~/app# ./ledBlink_test  off
blink mode off.
root@myd-jd9x:~/app# ./ledBlink_test  mode0
blink mode 0.
root@myd-jd9x:~/app# ./ledBlink_test  mode1
blink mode 1.

結(jié)果OK。?

http://www.risenshineclean.com/news/54385.html

相關(guān)文章:

  • 網(wǎng)站跳轉(zhuǎn)怎么辦瀏覽器下載安裝2023版本
  • 網(wǎng)站優(yōu)化網(wǎng)絡(luò)推廣seo班級(jí)優(yōu)化大師的利和弊
  • 做機(jī)械設(shè)備網(wǎng)站成都網(wǎng)站建設(shè)軟件
  • 學(xué)校網(wǎng)站建設(shè)經(jīng)驗(yàn)介紹什么是網(wǎng)絡(luò)營銷策劃
  • 攜程特牌 的同時(shí)做別的網(wǎng)站自己如何制作一個(gè)網(wǎng)站
  • 做展柜平時(shí)在哪里網(wǎng)站推廣全國十大教育機(jī)構(gòu)
  • 珠寶網(wǎng)站建設(shè)平臺(tái)分析報(bào)告網(wǎng)站構(gòu)建的基本流程
  • 連鎖酒店網(wǎng)站建設(shè)網(wǎng)站優(yōu)化推廣方案
  • 網(wǎng)站開發(fā)工具安全性能怎樣制作一個(gè)網(wǎng)站
  • 網(wǎng)站開發(fā)技術(shù)有廣州疫情最新數(shù)據(jù)
  • 做模具的網(wǎng)站sem競價(jià)推廣怎么做
  • 客戶網(wǎng)站回訪長春百度快速優(yōu)化
  • 網(wǎng)站開發(fā)用c語言嗎網(wǎng)站網(wǎng)絡(luò)營銷公司
  • 為什么 要建設(shè)網(wǎng)站掃一掃識(shí)別圖片
  • 網(wǎng)站制作策劃書最新域名8xgmvxyz
  • 長春專業(yè)做網(wǎng)站公司排名手機(jī)優(yōu)化大師官方版
  • 網(wǎng)站通欄南京seo網(wǎng)站管理
  • 基于jsp網(wǎng)站開發(fā)與實(shí)現(xiàn)和生活app下載安裝最新版
  • 好用的免費(fèi)建站網(wǎng)站百度網(wǎng)絡(luò)營銷中心
  • 在靜安正規(guī)的設(shè)計(jì)公司網(wǎng)站個(gè)人博客登錄入口
  • 卡通網(wǎng)站建設(shè)濟(jì)南頭條新聞熱點(diǎn)
  • 正規(guī)的培訓(xùn)行業(yè)網(wǎng)站開發(fā)seo關(guān)鍵詞如何布局
  • 在中國做博彩網(wǎng)站違法嗎seo網(wǎng)站優(yōu)化服務(wù)商
  • wap asp網(wǎng)站模板下載淘寶怎樣優(yōu)化關(guān)鍵詞
  • 個(gè)人網(wǎng)站建立教程網(wǎng)站建設(shè)黃頁免費(fèi)觀看
  • 網(wǎng)站建設(shè)最好的公司網(wǎng)站域名費(fèi)一年多少錢
  • 廣州網(wǎng)站優(yōu)化關(guān)鍵詞排名最新疫情新聞100字
  • 長治制作公司網(wǎng)站的公司百度免費(fèi)推廣怎么操作
  • 可以做來電名片的網(wǎng)站seo高端培訓(xùn)
  • 怎么做網(wǎng)站首頁圖片不會(huì)失真云南今日頭條新聞