-
摘要:与LiteOS_Lab配套的开发工具IoT-Studio正在开发中,目前只有内测版,想移植LiteOS_Lab的朋友们可以参考此教程,搭建Ubuntu下的开发环境一、准备需要的软件Ubuntu19.10桌面版:一键直达华为开源镜像仓库https://mirrors.huaweicloud.com/ubuntu-releases/19.10/,直接点击链接进入下载下图版本即可。VMware虚拟机:我用的版本是15.5pro。LiteOS_Lab:这才是我们的主菜,下载地址https://github.com/LiteOS/LiteOS_Lab/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux工具链:我们编译LiteOS_Lab就是使用该工具链,IoT-Studio中也是使用该工具链编译LiteOS_Lab。下载地址:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads,先点击①再点击②即可下载,注意版本!Kconfig工具:LiteOS_Lab/tools/kconfiglib包含了,无需下载,该工具用于图形化配置和生成SDK配置。二、开始搭建开发环境关于如何在虚拟机中安装Ubuntu我就先略过,网上教程特别多,大家搜索一下就可以了。1.安装gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux工具链cd ~ #切换到用户目录 mkdfir toolchain #创建一个名为toolchain的目录,将下载好的gcc-arm-none-eabi压缩包放入 tar -jxvf gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2 #解压缩 cd gcc-arm-none-eabi-9-2019-q4-major #你会在目录中看到以下文件夹arm-none-eabi bin lib share,所有的工具都在bin目录中,所以我们要将bin添加到PATH变量中 sudo vim ~/.bashrc #我们需要修改该文件,在该文件内添加PATH ############################################################################## 在~/.bashrc文件最后一行加上export PATH=~/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin:$PATH 注意:如果前面你没有使用和我相同的工具链版本或者没有解压到和我一样的目录中,请自行修改bin文件的路径 保存退出即可! ############################################################################## source ~/.bashrc #将刚刚的配置执行以下 echo $PATH #查看PATH变量中有没有添加了我们的bin目录,正常情况你将得到我这样的输出 ############################################################################## /home/fanxinhao/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin: 这就是我们刚才添加的路径 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin ############################################################################## #现在可以去测试下 cd LiteOS_Lab/targets/STM32L431_BearPi/GCC/ #进入任意开发板例程文件中的GCC目录 make #执行编译指令 ############################################################################## 正常情况下,最后的打印结果中是如下格式,说你的arm-gcc工具链已经成功安装了 text data bss dec hex filename 90728 576 11296 102600 190c8 appbuild/Huawei_LiteOS.elf arm-none-eabi-objcopy -O ihex appbuild/Huawei_LiteOS.elf appbuild/Huawei_LiteOS.hex arm-none-eabi-objcopy -O binary -S appbuild/Huawei_LiteOS.elf appbuild/Huawei_LiteOS.bin ##############################################################################2.安装Kconfigcd ~ #到用户目录 mkdir Work #创建名为Work的目录,并将LiteOS_Lab放到该目录或者直接在该目录中克隆仓库 cd ~/Work/LiteOS_Lab/tools/kconfig/Kconfiglib #你能看到很多.py的可执行文件,同样的我们需要将该目录添加到PATH sudo vim ~/.bashrc #我们需要修改该文件,在该文件内添加PATH ############################################################################## 在~/.bashrc文件最后一行加上export PATH=~/Work/LiteOS_Lab/tools/kconfig/Kconfiglib:$PATH 注意:如果前面你没有使用和我相同的工具链版本或者没有解压到和我一样的目录中,请自行修改bin文件的路径 保存退出即可! ############################################################################## source ~/.bashrc #将刚刚的配置执行以下 echo $PATH #查看PATH变量中有没有添加了我们的bin目录,正常情况你将得到我这样的输出 ############################################################################## /home/fanxinhao/Work/LiteOS_Lab/tools/kconfig/Kconfiglib: #这就是我们刚才添加的目录 /home/fanxinhao/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin ############################################################################## #现在可以去测试下 cd LiteOS_Lab/targets/STM32L431_BearPi/ #进入任意开发板例程文件中的目录中 menuconfig.py #启动Kconfig图形化菜单 #出现下图就代表配置成功了到此就算安装完成了!PS:需要用到的文件如果大家下载不下来,可以留言,或者私信我,我发给大家,因为附件大小有限制,所以无法上传
-
摘要:假如你需要移植LiteOS_Lab到STM32F103xx或者其他系列的例如M0、M3等上,本篇帖子就是为你写的。首先,我贴一幅图,转自百度百科:https://baike.baidu.com/item/Cortex-M/1363782?fr=aladdin这张图片向大家分别展示M0、M3、M4分别对应的架构版本。这里简单的说一个小知识:STM32和ST公司和ARM公司合作的,ARM公司设计好相应的核提供给ST公司,ST公司再去设计各种外设(ADC、Flash)等等,上图中的V6M、V7M在这些就是ARM公司设计的。一、SDK配置现在转回正题,我们打开IoT Studio为自己的特定芯片开发移植LiteOS_Lab时,要进行的一个操作就是SDK配置,选择我们用到的组件,不知道大家是否注意到,有着这样一个选项:这个选项就是用于配置我们的芯片的架构,按照上图中的来配置即可,armv6-m这里没有显示,但是ubuntu下可以手动填写,大家等后面新版本的IoT Studio出来以后,就可以看到该选项了,这里我给大家贴个Ubuntu上的配置图片,如果大家需要我出一份关于搭建Ubuntu的LiteOS开发环境请留言。这就是Kconfig的功劳,上期说过,配置并保存之后会生成一个.config文件,用于让Makefile引用其中的配置项,用于控制编译,下图是.config的部分内容:看到了吧,这里定义了一个CONFIG_ARCH_CPU_TYPE := "armv7-m",我想你和我一样一定也想知道是哪个Makefile引用了该配置,请你打开这个路径:iot_link/os/liteos/liteos_imp.mk,你可以看到如下图相信你一定能看出来,这三个不同的路径对应了三种架构的芯片的汇编起始文件和一些列芯片相关的文件二.makefile配置首先,我们来看下GCC/Makefile同样的,我们也需要将这里的CPU、FPU等一些列信息修改为芯片的相应信息。再来看下project.mk我们需要将这些引用Hal库的路径也修改为芯片对应的路径。三、其他地方例如你的main.c文件或者其他包含了stm32L4xxxx.h的文件也应该进行相应修改,你也可以直接编译,根据错误信息去修改。PS:这是是我目前发现的问题,大家在将LiteOS_Lab移植到自己的芯片上时,可以选择相近芯片的Demo来入手,这样可以避免发生过多的问题,例如我用的是STM32L476我就选择小熊派的STM32L431这样就方便很多了。
-
请问公司镜像源没有指定版本的ubuntu 系统怎么办?能直接在外网下载吗,是不是不符合信息安全规定呀?
-
1简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。官方链接:https://www.mysql.com/类别:关系型数据库管理系统语言:C/C++ 2环境类别子项版本获取地址(方法) 硬件CPUKunpeng 920iBMC网络Ethernet-10GEiBMC存储SATA 4TiBMC内存xxG xxxMHziBMCOSNeoKylin7.5cat /etc/neokylin-releaseKernel4.18.0cat /proc/version 软件GCC5.3.1-2gcc -vOpenJDK 1.8.0_191参考下面安装说明MySQL5.7.27参考下面安装说明3依赖安装3.1安装OpenJDK注:安装系统时已自带openjdk版本执行java --version查看java版本:java --version3.2安装GCC等依赖项挂载OS镜像:mount -o loop /home/NeoKylin/nsV7Update5-adv-lic-build05-aarch64.iso /mnt/NeoKylin/修改/etc/yum.repos.d/ns7-adv.repo文件,配置yum本地源:[ns7-adv-os]name=NeoKylin Linux Advanced Server 7 - Osbaseurl= file:///mnt/NeoKylingpgcheck=0gpgkey=file:///mnt/NeoKylin/RPM-GPG-KEY-neokylin-releaseenabled=1 运行下面的命令,使yum源配置生效:yum clean allyum makecacheyum安装GCC等相关依赖:sudo yum install -y snappy snappy-devel autoconf automake libtool git gcc gcc-c++ make cmake openssl openssl-devel ncurses-devel zlib zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel bison zip unzip tar tcl java-1.8.0* bison* ncurses*3.3对gcc、g++和c++增加-fsigned-char选项1、对gcc增加-fsigned-char选项1)使用which gcc命令寻找gcc所在路径(一般位于/usr/bin/gcc)which gcc2)、更改gcc的名字(比如改成gcc-arm)mv /usr/bin/gcc /usr/bin/gcc-arm3)、进入gcc所在目录执行vi gcc,并填入如下内容保存:#! /bin/sh /usr/bin/gcc-arm -fsigned-char "$@"cd /usr/bin/vi gcc4)、执行chmod +x gcc给脚本添加执行权限chmod +x gcc2、对g++增加-fsigned-char选项1)使用which g++命令寻找g++所在路径(一般位于/usr/bin/g++)which g++2)、更改g++的名字(比如改成g++-arm)mv /usr/bin/g++ /usr/bin/g++-arm3)、进入g++所在目录执行vi g++,并填入如下内容保存:#! /bin/sh /usr/bin/g++-arm -fsigned-char "$@"cd /usr/bin/vi g++4)、执行chmod +x g++给脚本添加执行权限chmod +x g++3、对c++增加-fsigned-char选项1)使用which c++命令寻找g++所在路径(一般位于/usr/bin/c++)which c++2)、更改c++的名字(比如改成c++-arm)mv /usr/bin/c++ /usr/bin/c++-arm3)、进入c++所在目录执行vi c++,并填入如下内容保存:#! /bin/sh /usr/bin/c++-arm -fsigned-char "$@"cd /usr/bin/vi c++4)、执行chmod +x c++给脚本添加执行权限chmod +x c++ 4移植分析使用checkSo工具(获取地址:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html)检查MySQL 5.7.27对应x86的安装包或源码包是否有依赖x86的so文件,通过检查MySQL 5.7.27的源码mysql-boost-5.7.27.tar.gz没有发现有依赖的x86架构的so文件。 5依赖库编译无。 6编译安装1、从MySQL官网服务器下载源码并解压wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gztar zxvf mysql-boost-5.7.27.tar.gz2、进入解压目录cd mysql-5.7.27/ 3、在mysql-5.7.27路径下创建cmake.sh并保存vi cmake.sh 增加如下内容 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DENABLE_DTRACE=0 \-DDEFAULT_CHARSET=utf8mb4 \-DDEFAULT_COLLATION=utf8mb4_general_ci \-DWITH_EMBEDDED_SERVER=1\-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/home/mysql-5.7.27/boost/boost_1_59_0注:# -DWITH_BOOST选项根据实际boot_1_59_0的路径修改,“DCMAKE_INSTALL_PREFIX”为MySQL安装路径 & “DMYSQL_DATADIR”为MySQL的data路径,如果修改需要后面所有路径都相应修改,否则会运行异常。如每行拷贝到linux后有空格则需要删除每行尾的空格 4、给cmake.sh添加执行权限chmod +x cmake.sh5、执行cmake.sh进行编译./cmake.sh6、执行make编译make -j647、执行make install编译安装make install 8、查看编译后的mysqlcd /usr/local/mysql/7验证1、编译验证使用checkSo工具(获取地址:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html)检查编译后的/usr/local/mysql/路径中是否不再含有依赖的x86架构的so文件,检查方法参考工具中的 《CheckSo使用说明.docx》,如果还有依赖的x86架构的so文件,则需要继续完成对应jar包的编译,直到无依赖的x86架构的so文件后,再次编译该组件并通过checkSo工具检查确认,编译后的组件包不再有依赖的x86架构的so文件则表明编译成功。2、功能验证1)、执行如下命令,创建mysql用户及用户组groupadd mysqluseradd -g mysql mysql2)、执行如下命令,修改/usr/local/mysql权限chown -R mysql:mysql /usr/local/mysql3)、进入mysql安装路径,创建data、log、run文件夹cd /usr/local/mysqlmkdir -p /data/log /data/data /data/run4)、创建mysql.log和mysql.pid文件,给予mysql用户及用户组权限vi /data/log/mysql.log 【空文件保存退出即可】vi /data/run/mysql.pid 【空文件保存退出即可】chown -R mysql:mysql /data注:其中创建的“mysql.log”和“mysql.pid”文件是空文件,创建后保存退出即可。5)、修改/etc/my.cnf中的文件路径vim /etc/my.cnf 注释如下红框内容,并添加如下内容[mysqld]datadir=/data/datasocket=/data/data/mysql.socksymbolic-links=0 [mysqld_safe]log-error=/data/log/mysql.logpid-file=/data/run/mysql.pid6)、初始化mysql数据库bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/data/data --user=mysql注:执行上述命令后,会产生初始随机密码,需要记录为后续登录mysql时使用。7)、启动MySQL服务并查看mysql服务状态cp support-files/mysql.server /etc/init.d/mysqlchkconfig mysql onservice mysql startservice mysql statusps -ef|grep mysqld 8)、将/usr/local/mysql添加进环境变量,并使之生效vi /etc/profile增加如下内容export MYSQL_HOME=/usr/local/mysqlexport PATH=$MYSQL_HOME/bin:$PATH 执行source /etc/profile使环境变量生效source /etc/profile9)、建立套接字软链接,接入mysql环境ln -s /data/data/mysql.sock /tmp/mysql.sockmysql -uroot -p【密码为执行数据库初始化时的初始密码,请留意包括特殊字符】10)、修改mysql密码SET PASSWORD = PASSWORD('123456');UPDATE mysql.user SET authentication_string =PASSWORD('123456') WHERE User='mysql';GRANT ALL PRIVILEGES ON *.* TO mysql@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO mysql@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;【注:'123456'的地方需要全部替换自己定义的新密码】 11)、使用修改后的新密码重新登录mysql mysql -uroot -p12345612)、查看mysql的databasesshow databases; 8参考信息1、https://www.huaweicloud.com/kunpeng/software/mysql0.html2、https://www.mysql.com/3、https://dev.mysql.com/downloads/mysql/9FAQ1、编译mysql执行cmake编译提示”Curses library not found”解答:需要安装curses,步骤如下apt-get install curses*rpm -ivh gcc-c++-5.3.1-2.nd7.1.aarch64.rpm【注】:再次执行./cmake.sh进行cmake编译前需先执行rm -rf CMakeCache.txt清除cmake编译缓存 2、编译mysql执行cmake编译提示command not found【详细描述】:添加cmake.sh文件并赋权限后执行./cmake.sh报command not found和No such file or directory等错误,具体报错如下:./cmake.sh: line 1: cmake: command not found./cmake.sh: line 2: -DMYSQL_DATADIR=/data/data: No such file or directory./cmake.sh: line 3: -DSYSCONFDIR=/etc: No such file or directory./cmake.sh: line 4: -DWITH_INNOBASE_STORAGE_ENGINE=1: command not found./cmake.sh: line 5: -DWITH_PARTITION_STORAGE_ENGINE=1: command not found./cmake.sh: line 6: -DWITH_FEDERATED_STORAGE_ENGINE=1: command not found./cmake.sh: line 7: -DWITH_BLACKHOLE_STORAGE_ENGINE=1: command not found./cmake.sh: line 8: -DWITH_MYISAM_STORAGE_ENGINE=1: command not found./cmake.sh: line 9: -DENABLED_LOCAL_INFILE=1: command not found./cmake.sh: line 10: -DENABLE_DTRACE=0: command not found./cmake.sh: line 11: -DDEFAULT_CHARSET=utf8mb4: command not found./cmake.sh: line 12: -DDEFAULT_COLLATION=utf8mb4_general_ci: command not found./cmake.sh: line 13: -DWITH_EMBEDDED_SERVER=1: command not found./cmake.sh: line 14: -DDOWNLOAD_BOOST=1: command not found./cmake.sh: line 15: -DWITH_BOOST=/mysql/mysql-5.7.22/boost/boost_1_59_0: No such file or directory解答:从移植文档中拷贝的cmake.sh文件内容因为word自动给每行增加一个空格,导致cmake.sh中每行 “\”后包含多余的空格而不是换行符“\”,手动删除cmake.sh中每行 “\”后包含多余的空格并保存,重新执行./cmake.sh即可; 3、启动mysql服务时报“Starting MySQL. ERROR! The server quit without updating PID file (/data/mysqldata/data/host-192-172-2-127.pid).”错误解答:1)MySQL配置路径与MySQL编译安装路径不同(移植编译参考文档中安装部署路径如有更改,需要相应修改后续命令中的安装路径,安装MySQL路径在cmake.sh脚本中定义),安装MySQL实际安装编译路径进行配置后mysql服务启动成功;2)在/etc/my.cnf下设置正确的log路径,并赋予mysql用户及用户组权限。 4、MySQL服务成功启动后连接MySQL数据库时提示Can't connect to local MySQL server through socket '/tmp/mysql.sock'解答:确保mysql server启动后,参考7 验证 “2、功能验证”的“9)、建立套接字软链接,接入mysql环境”建立套接字软连接:ln -s /data/data/mysql.sock /tmp/mysql.sock 【来自转载】
-
问题描述: usb无法连接ubuntu服务器,且usb无法识别具体串口日志见附件
-
../lib/libxml2.so.2: undefined reference to `fcntl64@GLIBC_2.28'collect2: error: ld returned 1 exit statusMakefile:22: recipe for target 'demo' failedmake: *** [demo] Error 1
-
华为云的ubuntu18.04源 下载valgrind 失败,阿里云的源是好的华为云的源阿里云的源
-
学习Atlas200DK Ubuntu vim安装链接失效,可以在分享一个吗,自带VI跟键盘匹配错误,太影响使用,才开始学习,求分享些经验,谢谢了!!!!!!!!!!!
-
请问,Atlas 200DK中Ubuntu系统跑在Hi3559C上的吗
-
TaiShan 200 2280+ubuntu18.04.1系统,使用porting Advisor工具,软件分析构建中心,提示的信息里面说要安装rpm相关的依赖,请问这个是否是提示信息不正确?是否要提示安装deb相关的依赖?
-
各位道友大家好,我在使用atlas DK 200 跑sample-videoanalysispersion的时候,在跑ObjectDetectionInferenceEngine::PerformInference里面的推理逻辑时,系统崩溃,DDK1.3.T34.B891 目前日志看不出啥问题,初步怀疑是vgg_ssd.om有问题,gdb跑完代码2 breakpoint keep y <MULTIPLE> 2.1 y 0x0000fffefb4141b4 <ObjectDetectionInferenceEngine::PerformInference(std::shared_ptr<DetectionEngineTransT>&, hiai::ImageData<unsigned char>&)@plt+4>2.2 y 0x0000fffefb41b7c8 in ObjectDetectionInferenceEngine::PerformInference(std::shared_ptr<DetectionEngineTransT>&, hiai::ImageData<unsigned char>&) at object_detection.cpp:498(gdb) 498 ret = ai_model_manager_->Process(ai_context, input_tensors, output_tensors,(gdb) n499以后,系统直接冷重启了,不知道各位道友有啥好思路调试这个问题,或者能否提供一份vgg_ssd.om我来试试,感激不尽.附件是在运行ai_model_manager_->Process的device/host日志.
-
按照官方文档《Atlas 300 AI加速卡Mind Studio安装》安装了mind studio以后,mind studio服务可以正常启动,但是通过浏览器ip:port的方式无法访问。Bad RequestThis combination of host and port requires TLS.在哪里可以看到失败的log?
-
比如:https://repo.huaweicloud.com/ubuntu-cloud-images/releases/bionic/release/ 对应于https://cloud-images.ubuntu.com/releases/bionic/release/根本就没下。这从Ubuntu下特别慢,lxd的各种image,如能同步非常有用。大厂中腾讯云同步是好的。
上滑加载中
推荐直播
-
TinyEngine低代码引擎系列.第1讲——低代码浪潮之下,带你走进TinyEngine
2024/11/11 周一 16:00-18:00
李老师 高级前端开发工程师
低代码浪潮之下,带你走进TinyEngine。李旭宏老师将从低代码的发展趋势、TinyEngine的项目介绍,三方物料组件的使用、跨技术栈的使用、源码生成能力的差异性对比等多个方面带大家对TinyEngine低代码引擎有一个更清晰的认知和了解。
即将直播 -
0代码智能构建AI Agent——华为云AI原生应用引擎的架构与实践
2024/11/13 周三 16:30-18:00
苏秦 华为云aPaaS DTSE技术布道师
大模型及生成式AI对应用和软件产业带来了哪些影响?从企业场景及应用开发视角,面向AI原生应用需要什么样的工具及平台能力?企业要如何选好、用好、管好大模型,使能AI原生应用快速创新?本期直播,华为云aPaaS DTSE技术布道师苏秦将基于华为云自身实践出发,深入浅出地介绍华为云AI原生应用引擎,通过分钟级智能生成Agent应用的方式帮助企业完成从传统应用到智能应用的竞争力转型,使能千行万业智能应用创新。
去报名
热门标签