91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)Android平臺(tái)啟動(dòng)Linux C/C++應(yīng)用程序

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-06 11:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Android是移動(dòng)設(shè)備的主流操作系統(tǒng),近年來(lái)越來(lái)越多的工業(yè)領(lǐng)域的客戶開(kāi)始關(guān)注基于Android操作系統(tǒng)的設(shè)備在工控領(lǐng)域的應(yīng)用。鑒于Android是基于Linux內(nèi)核的事實(shí),我們發(fā)展了一種以雙應(yīng)用進(jìn)程為特色的Android工控應(yīng)用方案,并在ESM6802工控主板上加以實(shí)現(xiàn)。具體說(shuō)來(lái),就是在Linux平臺(tái)上運(yùn)行一個(gè)直接操作硬件接口的控制通訊管理進(jìn)程,為保證運(yùn)行效率,該進(jìn)程采用C/C++語(yǔ)言編寫(xiě)(以下簡(jiǎn)稱(chēng)C進(jìn)程或控制進(jìn)程);另一方面在Android平臺(tái)采用標(biāo)準(zhǔn)Java語(yǔ)言編寫(xiě)一個(gè)人機(jī)界面進(jìn)程(以下簡(jiǎn)稱(chēng)Java進(jìn)程)。底層的控制進(jìn)程并不依賴(lài)與上層的Java進(jìn)程而獨(dú)立運(yùn)行,兩個(gè)進(jìn)程之間通過(guò)本地IP進(jìn)行通訊,控制進(jìn)程處于服務(wù)器偵聽(tīng)模式,Java進(jìn)程則為客戶端模式。本方案的主要優(yōu)點(diǎn)是客戶可以直接繼承已有的現(xiàn)成應(yīng)用程序作為底層控制進(jìn)程的基礎(chǔ),僅僅增加標(biāo)準(zhǔn)的Socket偵聽(tīng)功能,即可快速完成新的底層應(yīng)用程序的設(shè)計(jì)。而界面的Java程序,由于不再涉及具體的工控硬件接口,屬于單純的Android程序,編程難度也大大降低。

我們將通過(guò)多篇技術(shù)報(bào)告來(lái)具體介紹雙進(jìn)程方案在ESM6802主板上實(shí)現(xiàn)的相關(guān)技術(shù)。本文是《Android雙應(yīng)用進(jìn)程工控方案》的第一篇,主要介紹在Android環(huán)境中,如何編譯C/C++應(yīng)用程序,下載并配置為開(kāi)機(jī)啟動(dòng)程序。

本文PDF下載:Android雙應(yīng)用進(jìn)程工控方案(一)——在Android平臺(tái)啟動(dòng)Linux C/C++應(yīng)用程序

1、重新編譯C/C++應(yīng)用程序

如圖1所示,由于傳統(tǒng)的Linux程序依賴(lài)的是glibc庫(kù),而Android程序需要的是谷歌公司在AOSP(Android Open Source Project)中提供的Bionic庫(kù)(比glibc小,提供了Android特定的函數(shù))。所以,原來(lái)Linux上的C/C++程序要運(yùn)行在Android系統(tǒng)上,必須要在Android的編譯環(huán)境中重新編譯。英創(chuàng)推薦使用Android官方開(kāi)發(fā)工具Android Studio,下載CMake和NDK工具,進(jìn)行C/C++程序的重新編譯。

圖1Android和Linux依賴(lài)庫(kù)區(qū)別

下面開(kāi)始介紹使用Android Studio的NDK編譯工具重新編譯C/C++程序的過(guò)程。

1.1搭建Android Studio NDK編譯環(huán)境

Android Studio的安裝具體過(guò)程請(qǐng)參考文檔《Android Studio 應(yīng)用開(kāi)發(fā)簡(jiǎn)介》的第一章,在SDK Tools頁(yè)面中一定要勾選NDK和CMake。

1.2在Android Studio中新建C++項(xiàng)目

圖2新建C++項(xiàng)目

首先新建一個(gè)Android Studio項(xiàng)目,并勾選Include C++ support選項(xiàng),此處的Application name是Android app的名字,與最終需要的C++程序無(wú)關(guān),用戶可隨意設(shè)定。然后一直點(diǎn)擊下一步“Next”,直到圖3頁(yè)面,使用默認(rèn)的工具鏈,點(diǎn)擊Finish。

圖3默認(rèn)工具鏈

點(diǎn)擊finish后會(huì)進(jìn)入項(xiàng)目編輯頁(yè)面,進(jìn)入到圖4所示的項(xiàng)目視圖,可以看到所有的目錄結(jié)構(gòu),其中app/src/main/cpp目錄、app/build.gradle和app/CMakeLists.txt是用戶需要編輯修改的。然后,點(diǎn)擊左上角File >> Project Structure進(jìn)入圖5的頁(yè)面,檢查NDK環(huán)境路徑是否正確設(shè)置。

圖4項(xiàng)目目錄結(jié)構(gòu)及要修改的文件

圖5環(huán)境路徑設(shè)置檢查

1.3復(fù)制C/C++應(yīng)用程序源碼

將原C/C++應(yīng)用程序的所有源文件拷貝到app/src/main/cpp目錄。

1.4修改CMakeLists.txt

新的Android Studio已經(jīng)支持使用cmake編譯c++項(xiàng)目,這里提供對(duì)于簡(jiǎn)單項(xiàng)目使用的CMakeLists.txt,對(duì)于更復(fù)雜的需求,用戶可以參考cmake官網(wǎng)文檔https://cmake.org/cmake/help/v3.4/自行修改。

app/CMakeLists.txt:

cmake_minimum_required(VERSION 3.4.1)

# Android 5.0 以上需要在此處設(shè)置PIE

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie")

# 頭文件目錄

include_directories(

src/main/cpp

)

# 源文件目錄

aux_source_directory(src/main/cpp DIR_SRCS)

# 添加要編譯的可執(zhí)行文件

add_executable(serialControlDaemon ${DIR_SRCS})

其中,add_executable表明要生成的是可執(zhí)行文件,名字為SerialControlDaemon,源文件為DIR_SRCS變量代表的文件,而aux_source_directory將src/main/cpp目錄下的所有文件賦給了變量DIR_SRCS。

1.5修改build.gradle

app/build.gradle文件主要是設(shè)置構(gòu)建app的一些參數(shù),這里主要往android>> defaultConfig>>externalNativeBuild>>cmake添加targets和abiFilters兩個(gè)參數(shù)。其中,targets表示生產(chǎn)目標(biāo)文件的名字,與CmakeLists.txt中的相同;abiFilters表示要生產(chǎn)哪種cpu架構(gòu)下的目標(biāo)文件,這里使用armeabi-v7a。修改之后會(huì)在右上角提示需要同步項(xiàng)目,點(diǎn)擊即可。

圖6修改build.gradle

1.6編譯cpp項(xiàng)目

在Android Studio中直接使用Build>>Make Project即可編譯整個(gè)項(xiàng)目,包括cpp和java。生成的目標(biāo)文件在目錄app/.externalNativeBuild/cmake/debug/armeabi-v7a目錄下,名字為serialControlDaemon。

1.7下載目標(biāo)文件到Android

Android Studio集成了Android開(kāi)發(fā)的所有工具,在Android Studio中使用adb push命令可以將編譯得到的目標(biāo)文件下載到Android目標(biāo)板上。首先,要使用usb otg的調(diào)試線連接PC和目標(biāo)板;然后點(diǎn)擊左下角的Terminal窗口會(huì)彈出所在項(xiàng)目的命令行窗口;輸入命令:

adb push app\.externalNativeBuild\cmake\debug\armeabi-v7a\serialControlDaemo /data/local

這樣,serialControlDaemon便下載到了目標(biāo)板的/data/local目錄下。這時(shí),使用adb shell登陸到Android目標(biāo)板的命令行,修改目標(biāo)文件的運(yùn)行權(quán)限并運(yùn)行,整個(gè)過(guò)程如圖7所示。程序正常運(yùn)行起來(lái)后,表明整個(gè)編譯過(guò)程沒(méi)有問(wèn)題,用戶可以在命令行中按Ctrl+c停止運(yùn)行應(yīng)用程序,并輸入exit命令退出adb shell登陸,然后進(jìn)行下一步的開(kāi)機(jī)自啟動(dòng)配置。

圖7下載目標(biāo)文件到Android

2、開(kāi)機(jī)自啟動(dòng)配置

ESM6802上電后通過(guò)uboot引導(dǎo)進(jìn)入linux內(nèi)核,內(nèi)核完成一系列系統(tǒng)配置后會(huì)啟動(dòng)第一個(gè)用戶進(jìn)程:init進(jìn)程。Android相關(guān)的啟動(dòng)過(guò)程也是從init開(kāi)始的。在init進(jìn)程中會(huì)掛載Android的文件系統(tǒng),運(yùn)行init.rc腳本。init進(jìn)程啟動(dòng)過(guò)后,會(huì)fork出子進(jìn)程去開(kāi)啟init.rc文件中配置的service。

為了滿足用戶運(yùn)行不同名字的應(yīng)用程序,英創(chuàng)在init.rc中配置了一個(gè)usersh服務(wù)。usersh服務(wù)開(kāi)機(jī)自動(dòng)運(yùn)行,具體過(guò)程用戶不用關(guān)心。 要想開(kāi)機(jī)自啟動(dòng)C/C++程序,用戶只需要做兩件事:

●編輯userinfo.txt文件

●復(fù)制userinfo.txt以及C/C++程序的目標(biāo)文件到指定目錄/sdcard/Download

2.1編輯userinfo.txt

Android啟動(dòng)后,usersh服務(wù)會(huì)自動(dòng)檢測(cè)/sdcard/Download/userinfo.txt文件。如果userinfo.txt文件存在,usersh會(huì)去解析并啟動(dòng)userinfo.txt文件中指定的應(yīng)用;如果userinfo.txt不存在,則結(jié)束usersh服務(wù)。userinfo.txt起到一個(gè)配置文件的作用,其格式如下:

Name=serialControlDaemon

Param=2

其中,Name指定程序名字,Param指定要帶的參數(shù),沒(méi)有可以不寫(xiě)。用戶可以直接在Android Studio中創(chuàng)建并編輯userinfo.txt文件。

圖8Android Studio中新建userinfo.txt

2.2復(fù)制userinfo.txt以及C/C++程序到指定目錄/sdcard/Download

Android系統(tǒng)中,不是每個(gè)目錄都有讀寫(xiě)以及可執(zhí)行的權(quán)限,這里我們選擇/sdcard/Download作為存儲(chǔ)userinfo.txt和C/C++程序的指定目錄。復(fù)制userinfo.txt以及C/C++程序到指定目錄有兩種方法:通過(guò)usb_otg接口使用Android Studio的adb push命令下載到ESM6802,或者通過(guò)U盤(pán)從PC端拷貝到ESM6802。用戶按其中一種方法下載文件到指定目錄后,重啟ESM6802即可以開(kāi)機(jī)啟動(dòng)userinfo.txt中指定的C/C++程序。

1、Android Studio命令行下載userinfo.txt和C/C++程序到ESM6802

使用Android Studio命令行下載文件到ESM6802,首先需要使用調(diào)試線連接PC和目標(biāo)板的usb_otg接口。然后,在Android Studio的Terminal窗口輸入:

adb push app\.externalNativeBuild\cmake\debug\armeabi-v7a\serialControlDaemo /sdcard/Download

adb push app\userinfo.txt /sdcard/Download

重啟設(shè)備即可實(shí)現(xiàn)開(kāi)機(jī)自啟動(dòng)serialControlDaemon。

2、U盤(pán)拷貝userinfo.txt和C/C++程序到ESM6802

使用U盤(pán)拷貝userinfo.txt和C/C++程序到ESM6802,只需要將userinfo.txt和目標(biāo)文件(serialControlDaemon)拷貝到U盤(pán),插到ESM6802的USB接口上,打開(kāi)Android的文件管理應(yīng)用ES File Explorer,將userinfo.txt和serialControlDaemon拷貝到/sdcard/Download目錄,重新啟動(dòng)即可。

2.3查看程序是否開(kāi)機(jī)運(yùn)行

通過(guò)以上設(shè)置之后,Android開(kāi)機(jī)boot_completed=1之后會(huì)啟動(dòng)應(yīng)用程序serialControlDaemon,用戶可以通過(guò)命令adb shell登陸consolo控制臺(tái),輸入命令getprop | grep init.svc | grep usersh來(lái)查看usersh服務(wù)的運(yùn)行狀態(tài);當(dāng)然usersh實(shí)際運(yùn)行的應(yīng)用程序serialControlDaemon的進(jìn)程狀態(tài)可以通過(guò)ps | grep serialControlDaemon查看。

圖9檢測(cè)usersh服務(wù)運(yùn)行狀態(tài)

3、Q & A

Q1:查看C/C++程序輸出

在Android控制臺(tái)上看不到開(kāi)機(jī)啟動(dòng)的C/C++程序輸出信息,開(kāi)發(fā)中如何在Android上調(diào)試C/C++程序?

A1:使用kill命令終止掉已經(jīng)啟動(dòng)的C/C++程序;然后,在Android命令行中執(zhí)行命令:user.sh,即可手動(dòng)啟動(dòng)C/C++應(yīng)用程序,并且C/C++應(yīng)用程序的輸出信息將打印到Android控制臺(tái)。

Q2:關(guān)于userinfo.txt和C/C++程序指定目錄的說(shuō)明

A2:userinfo.txt和C/C++程序指定目錄要具有讀寫(xiě)可執(zhí)行權(quán)限,在2.2節(jié)中,adb push命令將C/C++應(yīng)用程序(serialControlDaemon)下載到了/sdcard/Download目錄,其實(shí)下載到/data/local也是可以的,而U盤(pán)卻只能拷貝到/sdcard/Download/。這是因?yàn)閡sersh服務(wù)會(huì)比較/sdcard/Download/serialControlDaemon是否比/data/local/serialControlDaemon更新,如果是,則先用新文件覆蓋舊文件,再運(yùn)行/data/local/serialControlDaemon。因此,使用adb push命令的指定目錄用/sdcard/Download/或者/data/local都是可以的;而使用U盤(pán),則受限于ES File Manager應(yīng)用不能訪問(wèn)/data/local目錄,只能拷貝到/sdcard/Download。

Q3:關(guān)于Android Studio的Terminal窗口

A3:Android Studio的Terminal窗口在進(jìn)入的時(shí)候,工作在PC的文件系統(tǒng)上,操作的文件都是PC上的;當(dāng)使用adb shell登陸Android目標(biāo)板之后,工作在Android目標(biāo)板的文件系統(tǒng)上,操作的文件、執(zhí)行的命令都是Android目標(biāo)板上的;在使用adb shell登陸之后,可以使用exit命令退出登陸狀態(tài),返回到PC端的工作目錄。

Q4:adb連接不上設(shè)備

使用adb devices查看一下是否有已連接的設(shè)備;檢查usb_otg和PC端的物理連接;重新插拔一下調(diào)試線或者重啟系統(tǒng)。

如果ethernet正常工作,可以使用ethernet代替usb_otg,在Terminal中輸入一下命令:

$ adb usb

restarting in USB mode

$ adb devices

List of devices attached

???????????? device

$ adb tcpip 5555

restarting in TCP mode port: 5555

$ adb connect YOUR_IP_ADDRESS

connected to YOUR_IP_ADDRESS:5555

$ adb devices

List of devices attached

???????????? device

YOUR_IP_ADDRESS:5555 device

退出:

adb disconnect YOUR_IP_ADDRESS

Q5:常用命令

查看所有service運(yùn)行狀態(tài):getprop | grep init.svc

adb相關(guān):

adb devices 查看usb_otg已連接的設(shè)備

adb push localfile remotepath 將PC端的localfile下載到Android端的remotepath目錄下。

adb pull remotefile 復(fù)制Android端的remotefile文件到PC端的當(dāng)前目錄

本文PDF下載:Android雙應(yīng)用進(jìn)程工控方案(一)——在Android平臺(tái)啟動(dòng)Linux C/C++應(yīng)用程序

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

    37089
  • 安卓
    +關(guān)注

    關(guān)注

    5

    文章

    2184

    瀏覽量

    60278
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MTK平臺(tái)LK階段mt_boot.c配置:SELINUX_STATUS 2的作用與影響

    在 MTK(聯(lián)發(fā)科)平臺(tái)的 Bootloader(以 LK/Little Kernel 為例)中,mt_boot.c是負(fù)責(zé) Linux 內(nèi)核啟動(dòng)邏輯的核心文件,此次代碼變更(新增#de
    的頭像 發(fā)表于 02-03 15:46 ?807次閱讀
    MTK<b class='flag-5'>平臺(tái)</b>LK階段mt_boot.<b class='flag-5'>c</b>配置:SELINUX_STATUS 2的作用與影響

    深入解析rk平臺(tái)Android Bootloader核心代碼:從啟動(dòng)流程到AVB驗(yàn)證

    android_bootloader.c的核心代碼,帶你讀懂Android設(shè)備從Bootloader到內(nèi)核的完整啟動(dòng)邏輯,以及開(kāi)發(fā)者關(guān)注這些代碼的核心價(jià)值。 一、代碼整體定位 這份代碼是Rockchip(瑞芯微)
    的頭像 發(fā)表于 01-22 07:06 ?283次閱讀
    深入解析rk<b class='flag-5'>平臺(tái)</b><b class='flag-5'>Android</b> Bootloader核心代碼:從<b class='flag-5'>啟動(dòng)</b>流程到AVB驗(yàn)證

    深入解析RK平臺(tái)Android/Linux Bootloader核心文件:android_bootloader.c

    Bootloader是Android設(shè)備啟動(dòng)的第一道“關(guān)卡”,負(fù)責(zé)初始化硬件、加載系統(tǒng)鏡像并完成內(nèi)核啟動(dòng)的前置準(zhǔn)備。在基于U-Boot的Android設(shè)備中,
    的頭像 發(fā)表于 01-09 10:58 ?1213次閱讀
    深入解析RK<b class='flag-5'>平臺(tái)</b><b class='flag-5'>Android</b>/<b class='flag-5'>Linux</b> Bootloader核心文件:<b class='flag-5'>android_bootloader.c</b>

    C語(yǔ)言與C++的區(qū)別及聯(lián)系

    C語(yǔ)言和C++到底是什么關(guān)系? 首先C++C語(yǔ)言本來(lái)就是兩種不同的編程語(yǔ)言,但C++確實(shí)是對(duì)C
    發(fā)表于 12-24 07:23

    CC++之間的聯(lián)系

    1、語(yǔ)法兼容性: C++完全兼容C語(yǔ)言的語(yǔ)法,這意味著任何有效的C語(yǔ)言程序都可以直接在C++編譯器下編譯通過(guò)。 2、底層控制:
    發(fā)表于 12-11 06:51

    C語(yǔ)言和C++之間的區(qū)別是什么

    (inheritance)、多態(tài)(polymorphism)等面向?qū)ο缶幊谈拍睢?b class='flag-5'>程序員可以通過(guò)定義類(lèi)來(lái)創(chuàng)建對(duì)象,并利用類(lèi)的實(shí)例進(jìn)行操作。 2、類(lèi)型系統(tǒng)與安全性: C++具有更為嚴(yán)格的類(lèi)型檢查機(jī)制
    發(fā)表于 12-11 06:23

    C++程序異常的處理機(jī)制

    1、什么是異常處理? 有經(jīng)驗(yàn)的朋友應(yīng)該知道,在正常的CC++編程過(guò)程中難免會(huì)碰到程序不按照原本設(shè)計(jì)運(yùn)行的情況。 最常見(jiàn)的有除法分母為零,數(shù)組越界,內(nèi)存分配失效、打開(kāi)相應(yīng)文件失敗等等。 一個(gè)
    發(fā)表于 12-02 07:12

    使用英特爾? NPU 插件C++運(yùn)行應(yīng)用程序時(shí)出現(xiàn)錯(cuò)誤:“std::Runtime_error at memory location”怎么解決?

    使用OpenVINO?工具套件版本 2024.4.0 構(gòu)建C++應(yīng)用程序 使用英特爾? NPU 插件運(yùn)行了 C++ 應(yīng)用程序 遇到的錯(cuò)誤: Microsoft
    發(fā)表于 06-25 08:01

    請(qǐng)問(wèn)是否可以在通用Windows平臺(tái)中構(gòu)建OpenVINO? GenAI C++ 應(yīng)用程序?

    無(wú)法在通用 Windows 平臺(tái)中構(gòu)建OpenVINO? GenAI C++ 應(yīng)用程序
    發(fā)表于 06-24 07:35

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)安全、推動(dòng)產(chǎn)業(yè)升級(jí)和實(shí)現(xiàn)數(shù)字主權(quán)的重任。簡(jiǎn)單來(lái)
    的頭像 發(fā)表于 06-13 10:06 ?8405次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    主流的 MCU 開(kāi)發(fā)語(yǔ)言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語(yǔ)言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說(shuō)內(nèi)存這道坎兒。您當(dāng)stm32f4的256kRAM
    的頭像 發(fā)表于 05-21 10:33 ?1058次閱讀
    主流的 MCU 開(kāi)發(fā)語(yǔ)言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    如何從 Microsoft Visual C++ 應(yīng)用程序 (CyAPI.h) 訪問(wèn) CYUSB3014 芯片組的 i2c 接口?

    1. 如何從 Microsoft Visual C++ 應(yīng)用程序 (CyAPI.h) 訪問(wèn) CYUSB3014 芯片組的 i2c 接口? 我在定制相機(jī)中使用 CYUSB3014。 當(dāng)我開(kāi)發(fā)我的相機(jī)
    發(fā)表于 05-19 07:21

    使用C++中的CyAPI編寫(xiě)的應(yīng)用程序上遇到了問(wèn)題,求解決

    我在使用 C++ 中的 CyAPI 編寫(xiě)的應(yīng)用程序上遇到了問(wèn)題。 我將 XferData() 方法與其他所有端點(diǎn)類(lèi)型一起使用,沒(méi)有遇到任何問(wèn)題。 但是,將其與 Endpoint0 一起使用會(huì)引發(fā)
    發(fā)表于 05-13 06:11

    Linux的作用

    的操作系統(tǒng),提供了一個(gè)免費(fèi)、穩(wěn)定和安全的替代品。許多Linux發(fā)行版(如Ubuntu、Fedora、Debian等)提供了友好的用戶界面和豐富的應(yīng)用程序。 4、開(kāi)發(fā)平臺(tái)Linux提供
    發(fā)表于 04-04 01:57

    rtsmart開(kāi)啟C++特性支持后,工具鏈編譯內(nèi)核不通過(guò)怎么解決?

    各位大佬好,本人在rtsmart項(xiàng)目中需要使用C++11特性,在menuconfig那里配置了支持C++特性后,使用7.3.0版本的arm-linux-musleabi編譯器編譯內(nèi)核時(shí)出現(xiàn) 錯(cuò)誤
    發(fā)表于 03-10 08:06