当前位置: 首页 > news >正文

普法网站建设香精

普法网站建设,香精,搜索引擎网站搭建,扒wordpress站1. 建立交叉编译链接环境 官网下载的SDK包中就有交叉工具链#xff0c;米尔提供的这个 SDK 中除了包含各种源代码外还提供了必要的交叉工具链#xff0c;可以直接用于编译应用程序等。 用户可以直接使用次交叉编译工具链来建立一个独立的开发环境#xff0c;可单独编译…1. 建立交叉编译链接环境 官网下载的SDK包中就有交叉工具链米尔提供的这个 SDK 中除了包含各种源代码外还提供了必要的交叉工具链可以直接用于编译应用程序等。       用户可以直接使用次交叉编译工具链来建立一个独立的开发环境可单独编译 Bootloade rKernel 或者编译自己的应用程序。我们这一节重点是编译应用程序。  1.1 建立虚拟机环境 当然前提是先安装虚拟机我们开发环境配置在ubuntu18.04虚拟机下。  1.2. 下载并安装SDK 官网链接 MYIR 源码暂不提供 应该是需要单独申请没关系并不影响我们应用程序开发。  建立工具链目录并解压完成后  1.3 环境配置 开发包里写好了env.sh脚本可以完成环境配置  #!/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 ARCHarm64 export CROSS_COMPILEaarch64-linux-gnu- export PREFIXaarch64-linux-gnu- export ASaarch64-linux-gnu-as export LDaarch64-linux-gnu-ld export CCaarch64-linux-gnu-gcc export ARaarch64-linux-gnu-ar export NMaarch64-linux-gnu-nm export STRIPaarch64-linux-gnu-strip export OBJCOPYaarch64-linux-gnu-objcopy export OBJDUMPaarch64-linux-gnu-objdump 主要也是配置各种路径参数。 2. 测试下环境安装情况  ~/jd9x$ aarch64-linux-gnu-gcc -v Using built-in specs. COLLECT_GCCaarch64-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-clocalegnu --enable-libstdcxx-debug --enable-long-long --with-cloogno --with-pplno --with-islno --disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-archarmv8-a --enable-threadsposix --enable-multiarch --enable-libstdcxx-timeyes --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-checkingrelease --disable-bootstrap --enable-languagesc,c,fortran,lto --buildx86_64-unknown-linux-gnu --hostx86_64-unknown-linux-gnu --targetaarch64-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) 看起来应该没什么问题了。  3. Hello World小应用编译下载运行 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 有其自身的一套规则。 target ... : prerequisites ... command  其中  target 可以是一个 object file(目标文件)也可以是一个执行文件还可以是一个 标签label。 prerequisites 就是要生成那个 target 所需要的文件或是目标。 command 也就是 make 需要执行的命令。 所以上面的make文件的内容解析  $(notdir $(path)) 表示把 path 目录去掉路径名只留当前目录名比如当 前 Makefile 目录为/home/wujl/key_led执行为就变为 TARGET key_led $(patsubst pattern, replacement,text) 用 replacement 替换 text 中符合 格式pattern 的字符如$(patsubst %c, %o, $(shell ls *.c))表示先列出 当前目录后缀为.c 的文件然后换成后缀为.o CCC 编译器的名称 CXX: C编译器的名称 clean: 是一个约定的目标 3.2 编辑应用代码  #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   在项目目录下编译  生成可执行的应用程序helloWorld_app 3.4 目标机执行 此时可以用filezilla把上述可执行文件copy到目标机目录下 转移至secureCRT调试页面执行刚刚copy过来的可执行文件  rootmyd-jd9x:~/app# ls helloWorld_app rootmyd-jd9x:~/app# ./helloWorld_app -sh: ./helloWorld_app: Permission denied rootmyd-jd9x:~/app# cd ../ rootmyd-jd9x:~# chmod 777 app -R rootmyd-jd9x:~# cd app rootmyd-jd9x:~/app# ./helloWorld_app j9x, hello world rootmyd-jd9x:~/app# 中间遇到读写权限问题用chmod命令设置下。  4. 资源调用-配置点灯 4.1 环境测试 linux下一切皆是文件外设也是。  操作 LED 的目录为/sys/class/leds rootmyd-jd9x:~/app# cd /sys/class/leds rootmyd-jd9x:/sys/class/leds# ls debug mmc0:: mmc1:: mmc2:: run rootmyd-jd9x:/sys/class/leds# 测试debug灯不同状态 读取熄灭点亮触发模式 rootmyd-jd9x:/sys/class/leds# cat ./debug/brightness 0rootmyd-jd9x:/sys/class/leds# echo 0 ./debug/brightness rootmyd-jd9x:/sys/class/leds# echo 1 ./debug/brightness rootmyd-jd9x:/sys/class/leds# echo timer ./debug/trigger rootmyd-jd9x:/sys/class/leds# echo heartbeat ./debug/trigger 4.2 编写应用程序 功能 根据输入参数来配置debug按不同模式来工作 off: 关闭 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(argc2){ 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); } 编译测试  rootmyd-jd9x:~/app# ./ledBlink_test off blink mode off. rootmyd-jd9x:~/app# ./ledBlink_test mode0 blink mode 0. rootmyd-jd9x:~/app# ./ledBlink_test mode1 blink mode 1.结果OK。
http://www.hkea.cn/news/14568011/

相关文章:

  • 基础微网站开发口碑好做运营必看的网站
  • 成都商城类网站设计天津做app和网站的公司
  • 网站子站怎么建设仿站怎么修改成自己的网站
  • 嘉兴建网站wordpress系统怎样下载
  • 自己做网站要买什么单一页面网站怎么做
  • 百度推广 帮做网站吗工资8000以上的工作
  • 正规的公司网站建设wordpress替换图片外链
  • php5 mysql网站开发实例精讲chmod wordpress
  • 分类信息网站建设自己开网店
  • 北京网站制作案例河北健康码app官网下载
  • 公司网站邮箱费用网站开发 重庆
  • 深圳中小企业vi设计seo主管招聘
  • 网站建设合同交印花税家居企业网站建设讯息
  • 济南高新区 网站制作怎样设计个人网站
  • 一个网站两个域名 seohtml5响应式网站制作
  • 做快餐料包的网站有哪些坪山医院网站建设
  • 长沙网站公司网站建设广州站是哪个站
  • 杭州住房城乡建设网站查询织梦cms发布侵权网站清单
  • 建设体育课程基地网站淘宝店铺可以做网站优化么
  • 什么是门户网站广告澄海网站建设
  • win10可以自己做网站微信端网站开发流程图
  • 东莞中赢网站建设公司怎么样书签制作简单漂亮图片
  • 扁平化网站建设韩雪冬网站
  • 建行网站用户名是什么网站建设类公司新闻
  • 网站建设淘宝详情页东至网站建设
  • 南昌网站建设品牌免费软文发布平台有哪些
  • 58同城商业后台如何做网站设计公司排名前十
  • 做网站开发经营范围做网站手机版
  • 临沂做网站电话平台搭建是什么
  • 免费做初中试卷的网站我为群众办实事活动总结