99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創(chuàng)信息技術CE應用程序助手簡介

英創(chuàng)信息技術 ? 來源:英創(chuàng)信息技術 ? 作者:英創(chuàng)信息技術 ? 2020-02-03 10:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

在基于英創(chuàng)工控主板的智能整機設備的開發(fā)過程中,客戶應用程序的開發(fā)通常都是最為關鍵性的工作,其工作量往往也是最大的。一個高質量的應用程序,首先表現(xiàn)在較少的現(xiàn)場維護,不僅大幅度降低了設備開發(fā)費用,同時也為客戶贏得后續(xù)的市場聲譽。因此如何在設備出廠之前就能確定應用程序的基本質量,就變得至關重要了。

基于我們十多年長期不斷地對客戶應用程序的技術支持的經驗,一般來說,如果一個應用程序在完成基本的應用功能的基礎上,整個應用進程(包括進程的所有活動線程)的CPU負載率保持在一個合理的水平,比如低于70%,那么我們就可以認為運行于英創(chuàng)工控主板上的這個應用程序其質量是有基本保證的。為了方便客戶隨時了解應用程序的運行狀況,我們計劃在主板中嵌入一款稱為應用程序助手(AppHelper)的監(jiān)測程序。AppHelper僅使用很少的CPU資源,就可為客戶提供系統(tǒng)各個進程的CPU開銷情況,對客戶的應用進程,還將提供進程中各個活動線程的運行狀況??蛻舾鶕?jù)這些信息及可方便及時的了解程序運行的總體情況,快速確定程序代碼需要優(yōu)化的地方。

本文的后續(xù)部分主要介紹AppHelper的使用方法及信息輸出的格式。

AppHelper的輸出接口

CE應用程序助手AppHelper的主要功能是提供系統(tǒng)運行狀況的基本信息。這些基本信息可支持多種通訊接口輸出,這些接口包括調試串口、USB OTG接口、應用串口COM2 – COM9、以太網(wǎng)接口??蛻艨筛鶕?jù)自身設備的特點,方便地選擇輸出接口。調試串口是AppHelper的缺省輸出接口。

AppHelper輸出信息的基本格式都是標準的ASCII碼字符串,客戶通過PC上的一款串口終端窗口程序(推薦使用開源的Tara Term),就可看到輸出的信息。

若客戶希望使用USB或應用串口來觀察AppHelper的輸出信息,需要通過執(zhí)行主板上的AppHelperConfig進行端口配置:

\> AppHelperConfig p1 [p2]

上式中p1 = 1, 2, .. 9;其中 = 1表示使用COM1端口,在英創(chuàng)主板中COM1端口是基于USB OTG的虛擬串口,英創(chuàng)公司的EM335x產品線和EM928x產品線的所有產品均支持USB OTG虛擬串口功能,虛擬串口的使用方法與實際物理串口完全一致。參數(shù)p1 = 2 – 9分別對應物理串口COM2 – COM9。注意在選擇物理串口時,應避免使用低速串口。參數(shù)p2為串口的波特率,缺省配置為115200bps。除非特別的需求,一般不設置該參數(shù),即推薦使用115200波特率。

用戶只需在輸出串口上輸入3個以上的字符(鍵盤連按3次以上),就會激活AppHelper。AppHelper將按2秒間隔輸出系統(tǒng)運行狀態(tài)信息。

若用戶希望通過以太網(wǎng)口來觀察AppHelper的輸出信息,則可通過telnet登錄系統(tǒng)后,直接運行SysInfo.exe,就可在CMD窗口看到系統(tǒng)的運行信息。SysInfo可帶一個輸入?yún)?shù),來確定輸出信息的時間,缺省的時間為10s。AppHelper每2秒輸出一次系統(tǒng)運行參數(shù)。

AppHelper信息輸出格式

AppHelper的輸出格式如下:

AppHelper v0.1 Oct 18 2015 17:36:33 Emtronix(c)

CPU:2% FreeMemory=148.59MiB FreeNand=123.99MiB

….

第一行是AppHelper的版本信息,第二行是系統(tǒng)總的CPU負載、程序內存的剩余空間,以及NandFlash的剩余空間。之后的每一行是一個進程或線程的CPU占用率。其中每個進程的名稱就是對應的exe文件名,而對線程來說,系統(tǒng)只提供有線程ID??蛻粢话阏f來很難根據(jù)線程ID來辨識具體是應用程序中哪個線程,例如串口接收線程。

應用線程命名

為了客戶更容易識別應用線程,AppHelper為應用程序提供了2個API函數(shù)。應用程序在創(chuàng)建線程后,通過API函數(shù)來為該線程注冊一個希望字符串名;當線程退出時,則通過API函數(shù)注銷該字符串。AppHelper提供的這兩個API函數(shù)為:

BOOL RegisterThreadName(DWORD dwThreadID, TCHAR* sThreadName);

BOOL UnRegisterThreadName(DWORD dwThreadID);

注冊操作一般直接跟在線程創(chuàng)建之后,其代碼如下:

DWORD dwThreadID = 0;

TCHAR sThreadName[] = L” ReceiveThread”;//注意32個字符!

// create rx thread

m_hRxThread = CreateThread((LPSECURITY_ATTRIBUTES)NULL,

0,

(LPTHREAD_START_ROUTINE)ReceiveThread,

(LPVOID)pPara,

0,

&dwThreadID);

RegisterThreadName(dwThreadID, sThreadName);

線程名注銷操作則更簡單,直接放在線程退出之前即可。

以下是AppHelper提供的這兩個API函數(shù)的具體實現(xiàn),該代碼應包含在應用程序之中。

struct _THREAD_INDEX

{

DWORD dwSize; // struct size in byte

DWORD dwThreadID; // a thread id

TCHAR szThreadName[32]; // user-defined name associated with the

// thread id above

struct _THREAD_INDEX *pNext; // = NULL

};

typedef struct _THREAD_INDEX THREAD_INDEX, *PTHREAD_INDEX;

BOOL RegisterThreadName(DWORD dwThreadID, TCHAR* sThreadName)

{

BOOL bRet = TRUE;

THREAD_INDEX ThreadNode;

PTHREAD_INDEX pNode = &ThreadNode;

DWORD dwLen;

HANDLE hDevFile = NULL;

memset(&ThreadNode, 0, sizeof(THREAD_INDEX));

pNode->dwSize = sizeof(THREAD_INDEX);

dwLen = wcslen(sThreadName);

if(!dwThreadID || (dwLen >= 32))

{

bRet = FALSE;

goto cleanup;

}

pNode->dwThreadID = dwThreadID;

wcscpy(pNode->szThreadName, sThreadName);

hDevFile = CreateFile(L"HLP1:", // name of device

GENERIC_READ|GENERIC_WRITE, // desired access

0, // sharing mode

NULL, // security attributes

OPEN_EXISTING, // creation disposition

0, // flags/attributes

NULL); // template file

if(hDevFile == INVALID_HANDLE_VALUE)

{

hDevFile = NULL;

bRet = FALSE;

goto cleanup;

}

dwLen = 0;

if(!WriteFile(hDevFile, pNode, sizeof(THREAD_INDEX), &dwLen, NULL))

{

bRet = FALSE;

}

CloseHandle(hDevFile);

cleanup:

return bRet;

}

BOOL UnRegisterThreadName(DWORD dwThreadID)

{

BOOL bRet = TRUE;

THREAD_INDEX ThreadNode;

PTHREAD_INDEX pNode = &ThreadNode;

DWORD dwLen;

HANDLE hDevFile = NULL;

memset(&ThreadNode, 0, sizeof(THREAD_INDEX));

pNode->dwSize = sizeof(THREAD_INDEX);

if(!dwThreadID)

{

bRet = FALSE;

goto cleanup;

}

pNode->dwThreadID = dwThreadID;

hDevFile = CreateFile(L"HLP1:", // name of device

GENERIC_READ|GENERIC_WRITE, // desired access

0, // sharing mode

NULL, // security attributes

OPEN_EXISTING, // creation disposition

0, // flags/attributes

NULL); // template file

if(hDevFile == INVALID_HANDLE_VALUE)

{

hDevFile = NULL;

bRet = FALSE;

goto cleanup;

}

dwLen = 0;

if(!WriteFile(hDevFile, pNode, sizeof(THREAD_INDEX), &dwLen, NULL))

{

bRet = FALSE;

}

CloseHandle(hDevFile);

cleanup:

return bRet;

}

預計在2015年10月底前,AppHelper將首先安裝到EM335x產品線的所有主板,并在11月份部署到EM928x產品線。歡迎新老客戶評估測試CE應用程序助手。

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

    關注

    7

    文章

    6102

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    DEKRA德凱成為沙特通信和信息技術設備技術法規(guī)認證機構

    近日,DEKRA德凱成功獲得沙特標準、計量和質量組織(SASO)認可,正式成為沙特通信和信息技術設備技術法規(guī)(Technical Regulation for Communications
    的頭像 發(fā)表于 07-15 14:27 ?209次閱讀

    中星微技術斬獲2025金???b class='flag-5'>創(chuàng)企業(yè)獎

    6月14日,由中國證券報主辦的2025科創(chuàng)金牛獎頒獎典禮在上海市舉行,2025科創(chuàng)金牛獎獲獎名單現(xiàn)場揭曉。其中中星微技術獲得新一代信息技術金???b class='flag-5'>創(chuàng)
    的頭像 發(fā)表于 06-16 14:16 ?759次閱讀

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

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

    2025第二屆教育信息技術應用創(chuàng)新大賽正式開賽

    為進一步落實建設網(wǎng)絡強國和教育強國的戰(zhàn)略部署,推動各級教育行政部門及高校信息技術應用創(chuàng)新能力提升,培養(yǎng)實戰(zhàn)型創(chuàng)新人才。龍芯中科聯(lián)合太初元碁、誠邁科技在2025第二屆教育信息技術應用創(chuàng)新大賽共同發(fā)布信息技術應用創(chuàng)新人工智能方向(賽
    的頭像 發(fā)表于 05-13 16:21 ?545次閱讀

    創(chuàng)浪潮下,國產主板有什么新的發(fā)展機遇?

    信息技術應用創(chuàng)新浪潮的推動下,國產主板迎來了諸多新的發(fā)展機遇。信創(chuàng)產業(yè)旨在實現(xiàn)信息技術領域的自主可控,這一戰(zhàn)略目標為國產主板的發(fā)展提供了廣闊的空間。信創(chuàng)浪潮下國產主板的發(fā)展機遇多元且
    的頭像 發(fā)表于 05-09 09:24 ?221次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國產主板有什么新的發(fā)展機遇?

    龍芯中科榮獲2024年度信息技術應用創(chuàng)新工作委員會卓越貢獻成員單位

    近日,中國電子工業(yè)標準化技術協(xié)會信息技術應用創(chuàng)新工作委員會(以下簡稱“信創(chuàng)工委會”)在北京召開2024年度工作總結座談會暨信創(chuàng)“大比武”總結大會。中國工程院院士、信
    的頭像 發(fā)表于 01-23 10:50 ?708次閱讀

    芯盛智能榮獲2024年信息技術應用創(chuàng)新工作委員會卓越貢獻成員單位

    日前,中國電子工業(yè)標準化技術協(xié)會信息技術應用創(chuàng)新工作委員會(以下簡稱 “信創(chuàng)工委會”)2024 年度總結座談會于北京隆重舉行。此次會議對在信創(chuàng)工作中作出突出貢獻的成員單位予以表彰。江蘇
    的頭像 發(fā)表于 01-20 09:56 ?641次閱讀

    飛騰助力首屆教育信息技術應用創(chuàng)新大賽圓滿落幕

    近日,由中國教育技術協(xié)會主辦,教育部教育管理信息中心教育信創(chuàng)實驗室、公安部第三研究所、中國電子工業(yè)標準化技術協(xié)會信創(chuàng)工委會支持,北京航空航天
    的頭像 發(fā)表于 12-24 09:57 ?516次閱讀

    有方科技參編的信息技術團體標準發(fā)布

    近日,有方科技參編的《信息技術產品供應鏈成熟度 共性指標 第1部分:企業(yè)背景評價》《信息技術產品供應鏈成熟度 共性指標 第2部分:技術掌控評價》《信息技術產品供應鏈成熟度 共性指標 第
    的頭像 發(fā)表于 12-23 10:44 ?611次閱讀

    龍芯中科助力2024首屆教育信息技術應用創(chuàng)新大賽成功舉辦

    近日,2024首屆教育信息技術應用創(chuàng)新大賽在北京航空航天大學成功舉辦。本次大賽由中國教育技術協(xié)會主辦,教育信創(chuàng)實驗室、公安部第三研究所、中國電子工業(yè)標準化技術協(xié)會信
    的頭像 發(fā)表于 12-19 17:02 ?572次閱讀

    拓維信息參與牽頭組建!長沙新一代信息技術產教聯(lián)合體正式獲批

    的長沙新一代信息技術產教聯(lián)合體成功獲批,為長沙市信息技術產業(yè)發(fā)展注入了新的活力。圖/《2024年長沙市市級市域產教聯(lián)合體名單》長沙新一代信息技術產教聯(lián)合體將依托龍頭企
    的頭像 發(fā)表于 12-07 01:06 ?898次閱讀
    拓維<b class='flag-5'>信息</b>參與牽頭組建!長沙新一代<b class='flag-5'>信息技術</b>產教聯(lián)合體正式獲批

    AWTK-WEB 快速入門(1) - C 語言應用程序

    導讀AWTK可以使用相同的技術棧開發(fā)各種平臺的應用程序。有時我們需要使用Web界面與設備進行交互,本文介紹一下如何使用C語言開發(fā)AWTK-WEB應用程序。用AWTKDesigner新建一個應用
    的頭像 發(fā)表于 11-27 11:46 ?724次閱讀
    AWTK-WEB 快速入門(1) - C 語言<b class='flag-5'>應用程序</b>

    中科創(chuàng)達榮獲2024年軟件和信息技術服務優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達憑借非凡的技術實力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業(yè)”以及“2024年軟件和信息技術服務優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?975次閱讀

    創(chuàng)國產化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術應用創(chuàng)新產業(yè)的簡稱,于2016年“信創(chuàng)工委會”(信息技術應用創(chuàng)新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?880次閱讀

    梯度科技入選2023年信息技術應用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡安全產業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術應用創(chuàng)新發(fā)展大會暨解決方案應用推廣大會。會上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?770次閱讀