色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

英創信息技術CE應用程序助手簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-03 10:09 ? 次閱讀

背景

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

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

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

AppHelper的輸出接口

CE應用程序助手AppHelper的主要功能是提供系統運行狀況的基本信息。這些基本信息可支持多種通訊接口輸出,這些接口包括調試串口、USB OTG接口、應用串口COM2 – COM9、以太網接口。客戶可根據自身設備的特點,方便地選擇輸出接口。調試串口是AppHelper的缺省輸出接口。

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

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

\> AppHelperConfig p1 [p2]

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

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

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

AppHelper信息輸出格式

AppHelper的輸出格式如下:

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

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

….

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

應用線程命名

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

BOOL RegisterThreadName(DWORD dwThreadID, TCHAR* sThreadName);

BOOL UnRegisterThreadName(DWORD dwThreadID);

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

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函數的具體實現,該代碼應包含在應用程序之中。

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應用程序助手。

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

    關注

    7

    文章

    6085

    瀏覽量

    35443
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

    中科達榮獲2024年軟件和信息技術服務優秀企業

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

    國產化背景下的工控主板發展現狀

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

    加速鯤鵬落地!拓維信息遷移工具榮獲鯤鵬原生開發技術認證

    認證。圖/拓維·數據庫適配中間件取得鯤鵬原生開發N認證在數字化時代的大潮中,信戰略作為國家推動信息技術應用創新、保障信息安全與自主可控的關鍵舉措,其重要性日益凸顯
    的頭像 發表于 09-10 08:03 ?467次閱讀
    加速鯤鵬落地!拓維<b class='flag-5'>信息</b>信<b class='flag-5'>創</b>遷移工具榮獲鯤鵬原生開發<b class='flag-5'>技術</b>認證

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

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

    中軟國際信服務助力大連信產業發展

    為進一步激發大連本地信產業生態的活力與潛力,搭建一個高效、開放的交流平臺。由大連軟件行業協會攜手大連市信息技術應用創新綜合服務中心主辦,中軟國際協辦的,2024年大連市信息技術應用創新產業發展大會
    的頭像 發表于 08-27 16:49 ?906次閱讀

    翼輝信息入選2023年信息技術應用創新解決方案名單

    近日,2023 年(第五屆)信息技術應用創新解決方案公布遴選名單,歷經資格初審、技術中評、區域評議、終評預審,翼輝以“面向工業領域嵌入式操作系統 SylixOS 解決方案”,成功在全國優秀方案中脫穎而出,入選典型解決方案名單。
    的頭像 發表于 04-28 11:37 ?582次閱讀
    翼輝<b class='flag-5'>信息</b>入選2023年<b class='flag-5'>信息技術</b>應用創新解決方案名單

    龍芯中科三項信方案入圍工信部2023年信息技術應用創新應用示范案例名單

    近日,工業和信息化部通報了2023年信息技術應用創新解決方案征集遴選結果,本次共評選出典型解決方案173個、應用示范案例83個、單項創新案例64個。
    的頭像 發表于 03-07 16:45 ?964次閱讀
    龍芯中科三項信<b class='flag-5'>創</b>方案入圍工信部2023年<b class='flag-5'>信息技術</b>應用創新應用示范案例名單

    扁平線共模電感對CE噪聲的高效抑制?|深圳比達電子EMC(中)

    扁平線共模電感對CE噪聲的高效抑制?|深圳比達電子EMC(中)扁平線共模電感對CE噪聲的高效抑制(中)?相信不少人是有疑問的,今天深圳市比達電子科技有限公司就跟大家解答一下! 比
    發表于 02-28 10:26

    RX78M組 EtherCAT ETG.5003示例程序固件信息技術

    電子發燒友網站提供《RX78M組 EtherCAT ETG.5003示例程序固件信息技術.pdf》資料免費下載
    發表于 02-21 14:22 ?1次下載
    RX78M組  EtherCAT ETG.5003示例<b class='flag-5'>程序</b>固件<b class='flag-5'>信息技術</b>

    軟通動力與捷技術簽訂戰略合作協議

    近日,軟通動力信息技術(集團)股份有限公司(以下簡稱“軟通動力”)與寧波捷技術股份有限公司(以下簡稱“捷技術”)正式簽訂戰略合作協議,并
    的頭像 發表于 02-03 16:35 ?1128次閱讀
    主站蜘蛛池模板: 久久久久久免费高清电影| 成人在线视频国产| 99久久综合精品免费| 国产久久re6免费热在线| 青青视频国产依人在线| 3D动漫网站HOXXXxes| 久艾草在线精品视频在线观看| 吻嘴胸全身好爽床大全| 风车动漫(p)_在线观看官网| 欧美一级黄色影院| bbw极度另类孕妇| 欧美激情视频一区| ppypp日本欧美一区二区| 欧美大片免费观看| FREE性丰满HD毛多多| 欧美乱妇狂野欧美在线视频| 99re8在线视频精品| 女人精69xxxxx舒心| se01国产短视频在线观看| 女人被躁到高潮嗷嗷叫69| 99久久精品免费看国产一区二区| 美女的让男人桶爽网站| 99国产在线精品观看二区| 欧美激情性AAAAA片欧美 | WWW国产色情在线观看APP| 青柠高清在线观看完整版| 成人啪啪色婷婷久色社区| 色欲AV精品一区二区入口| 国产精品久久人妻无码蜜| 性生生活大片又黄又| 激情办公室| 2019香蕉在线观看直播视频| 魔乳 堕乳漫画acg产卵| 扒开老师大腿猛进AAA片软件| 日本亚洲中文字幕无码区| 国产麻豆福利AV在线观看| 亚洲色图在线播放| 嫩草影院未满十八岁禁止入内| RAPPER性骚扰大开黄腔| 涩涩视频在线看| 婚后被调教当众高潮H喷水|