Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 29219|回復: 12

大家都使用何種程式語言來開發嵌入式系統 ?

  [複製鏈接]
發表於 2007-8-17 16:57:50 | 顯示全部樓層 |閱讀模式
來交換點開發嵌入式系統 新得吧? :o
多選投票: ( 最多可選 2 項 ), 共有 57 人參與投票
您所在的用戶組沒有投票權限
發表於 2007-8-23 19:09:10 | 顯示全部樓層

古老的嵌入式系統

十多年前, 我跟學長去幫忙進行一個古老的嵌入式系統....
4 g. ?9 M8 M$ s3 g在一片大約 3 張 A4 的普通面積的 IC 板上, 配置了六顆 MCU (8031, z80, 6502 三種系列),( T% u* \( ^! p' M$ x$ o
連當時最高檔華邦 FM music chip 都有, 嵌入一堆處理器和記憶體及傳輸裝置, 目的是 ---
6 {3 m, F0 D+ f' v, b7 o串連很多台小蜜蜂或是小鋼珠, 獲得並控制中獎機率, 幫老闆賺錢 !!3 N6 s% \7 r) }  I9 v
後來, 用 C 寫的程式太大, 漸漸精簡成組合語言的方式, 並減少 CPU 數量,& [" h" C3 u' I3 Y3 K& \: z
最後還衍生出警民連線聯防系統... 不過此時我已經畢業去醫院實習了...
$ T7 t+ ~( r/ C6 y- @經驗: 以前用 C 寫的程式很難除錯, 我還是慣用組合語言,
+ h# J6 l5 h% b* s: M/ {  o     尤其在 debug 中, 居然發現,  C 的 compiler 常會有誤設目地資料大小的問題,
. D. N2 K( \4 J    也就是你可能只想寫入 1 個 byte 的 00, 但 compiler 雞婆的給你送 16-bit 的 0000
+ r% @9 t1 b1 m    即使你已宣告是 BYTE 的大小, 很扯的是, 那時公司�兩位年輕的設計師,
6 C! T0 _0 r  H6 k0 K( {    連續兩週一直無法抓到此 bug, 壓力過大之餘, 只好走人...
2 s. q8 b9 u! \2 \/ K/ E----3 ~( U3 \8 l5 E2 v, ]. E* v2 N
幾年前, 我用 GNU CPP 去設計 PS2 的程式, 居然發現全世界很知名的某個外國人,' }( F8 ], C6 S) l$ O
他所 release 出來的 source code, 也好像故意在幾個地方偷改 size modifier,
/ e# b, M% N7 m. k9 P讓我們用他的部份程式碼來寫自己的計劃時, 會在某些特定的時機當死, 且很難除錯 !!
- h3 T6 K+ P3 A! K  S% b2 S(相同的 C 程式碼就能在我的 PC 上用自己設計的 PS2 模擬器 Run 的好好的, 只是少了那幾個有 bug 的程式,
6 \$ U$ Z- j% @9 `5 P) t, y1 a於是才讓我去仔細把 MIPS R5900 的機器碼對照回 c source code, 才發現不對, 並證明此等釋出"有害"程式的不良行徑)
8 @* s8 Q/ T1 s- H這也是直到我的除錯功力大增之後, 才發現的... (抓這幾個錯也豁出了好幾週不眠不休的日子 !)
* o# `" S; G, w/ r所以, 不管是哪種嵌入式系統, 都可能有除錯不易的問題 !!$ x2 x3 b% R1 m% D1 ~3 D
--> 在下不才, 提供給大家看看笑笑就好..

評分

參與人數 1Chipcoin +3 收起 理由
chip123 + 3 你的經驗就是知識的來源!

查看全部評分

回復

使用道具 舉報

發表於 2007-12-18 23:51:34 | 顯示全部樓層
还有汇编(asm)啊,难道就是组合语言?其实更多的是C和汇编的组合吧
回復

使用道具 舉報

發表於 2008-3-6 19:27:34 | 顯示全部樓層
任何一種CPU C compiler都要一段時間成熟,像是早期ARM SDT還會編譯到當掉,; ]  t4 P- P4 ?( X  f: ?9 E8 e% o
到後期ADS出來就比較穩定了,不過開了最佳化之後還是會有一些bug跑出來,注意
1 E2 Y1 g' `, M# A( Balignment, volatile這些也都解掉了
" Y. {& U/ F3 R/ _- S7 s. W3 y
7 i) k( Q, U5 J; R* U, R* \總而言之不能當成PC上的C program來寫...否則一定出包
回復

使用道具 舉報

發表於 2008-10-7 14:43:49 | 顯示全部樓層
匯編是大陸用法+ [! D; L) h' t& R
就是台灣的組合語言 (我想應該很多人出差去過大陸的都知道 ' V+ h0 }. H# H0 Y
$ \& E- n. R& e; B/ @- h
其實很多compiler都會出錯
2 e7 p" N: A' N* G2 [1 f" c5 s* l! y甚至連CPU都有bug..../ W, e% r4 S0 y: O
assembly的確出錯的機率比較小6 D. ?  M6 J# g: a
畢竟是貼近機器碼的思維# }' g1 ^* E: q% r8 x9 @5 m# y
所以編譯器比較容易撰寫
9 L/ H3 b4 }; A中高階複雜語言的compiler除了要follow一些spec之外* N8 O6 Y& w2 H
還要被拿去用在各種所謂『指令集相容』的處理器8 I) S( Y9 }1 Y. J; [
有些cpu的bug也透過修改compiler gen code的方式解掉
8 }9 ?! f  b% s# J' @5 _越高階的語言編譯器就相對就比較難寫8 `9 A; \: g3 h7 s+ b
所以c/c++ compiler問題也真的是比較多
/ r4 ]" f4 T9 ]  m( U, N8 V寫貼近hw的程式碼的人" j& p& j* g/ C: `+ Q2 ]
大概都預期要小心的確認data size/length
5 D6 L- c2 a9 g# n+ k
4 j0 L" U) O6 N/ b. ?, n/ |不過語言無分好壞
5 @  ^& ?. l$ ]. V% T它們的誕生都是有其目的
; ^' E5 q+ h( s$ s也都可以在某些考量上表現得比其他更適用" t1 z# J, e& X6 {2 T) u( _+ b5 B
例如你可以用assembly code寫一個大型3D online game% ^; n: d$ x6 e+ d2 G
但是開發時程可能會比較久,要maintain可能也比較困難....4 F& f6 n2 e5 r' f; B* r
2 M+ I) G" ^" d* b# S8 ]' _- h: f
至於debug大概是工程師永遠的痛啊∼, f$ }# n! [7 R% X. Q* \4 _
能夠一眼就找出問題的神人! z% |% S' k  Q9 H% w% `
背後總是有強大的技術知識在支持他
回復

使用道具 舉報

發表於 2011-9-29 07:57:56 | 顯示全部樓層

Android程式開發外包專案

專案詳細說明 6 _$ W+ w8 S/ z3 ~& |& C

; k5 x& o1 A; E# j; I/ g: y/ x1.工作內容:我們需發包開發在平板電腦上使用的無線控制程式,需有相關開發經驗者佳
, n6 h- q& k, E6 K; A2.配合時間:要視專案情況而定,發包後一個月內完成
$ ]8 O8 ~; h" Q( b& a3.配合地點:發包後可在家作業,新北市地區接案者尤佳,他區也歡迎6 u7 m6 b9 K2 E+ H, l
4.專案預算:詳談議價
+ T9 |/ G( B, K; Q5 D/ a6 I/ {5.注意事項:意者請先來信附上相關作品及簡歷
回復

使用道具 舉報

發表於 2012-12-11 14:52:39 | 顯示全部樓層

Embarcadero 推出Multi-Device C++ 開發平台

美國著名的應用程式與資料庫開發工具廠商Embarcadero Technologies 今日發表全新的 C++ 開發平台 - Embarcadero C++Builder® XE3。C++Builder® XE3 提供完整的多平台原生編譯架構讓開發人員, ISVs, 以及企業能針對各種不同的硬體設備開發出高性能的應用程式。這新版的C++ 開發工具原生支援Windows 8 與 Mac OS X 的桌上電腦, 筆電, 以及 Intel base 的 mobile 硬體設備,從單一的 C++ 程式碼開發出以上平台的應用程式,大大地節省開發時程與成本。而且將於2013年計劃推出支援 iOS 與 Android 等 ARM mobile 設備平台。
; D% N  r# M  X, {
8 w4 s+ v$ Z3 M, ?新的 C++Builder XE3 包含完整的 64 bit 編譯器與更新的VCL,讓 C++Builder 用戶既有的數以百萬計的 Windows 應用程式能快速地升級支援 64 位元,而且此新的 64 位元編譯器架構提供了許多最佳的 C++ 11 語言標準與業界的程式庫。
% r# n7 J: b( F& q  M2 x$ s" d% d+ R" l* z$ y
主要功能與效益:
/ ]0 f  `; S* v•        原生單一程式碼且支援多種平台設備: C++Builder 的 multi-device 架構讓開發團隊能以單一共同的程式碼開發出不同平台與設備的原生應用程式,省時省力,大幅提升開發效率!, M; I4 l2 B/ J3 d% i
•        Agile C++大幅提升開發速度: 開發人員採用 Embarcadero 標準 C++ extensions 與 agile 技術如rapid prototyping, PME (properties/methods/events) 元件式與視覺化的開發。較之傳統的開發方式可提升五倍以上的開發速度。
5 b: ^, Q# F' Q+ p8 u; X- ]2 N•        可享用到 C/C++ 新的標準與功能: 開發人員可以使用包含最新版 C++ 語言功能與程式庫的 Clang 3.1 相容的編譯器,以及整合原有的程式碼至 C++ 11 的新標準。
# _+ K. a1 J+ _•        擁有 64-bit 的速度與功能: C++Builder 的 64-bit 編譯器架構所開發出的應用程式能應用到更多的記憶體與資料可直接存取 64-bit APIs, device drivers, 與system services, 讓您開發出更高效能與更強功能的應用程式。8 R* j4 j% c- c* @0 a
•        開發出令人驚艷的視覺化應用程式: 可以開發出具有 Microsoft® Windows 8 樣式的界面在各種 Windows® 作業系統 (Windows XP, Windows Vista, Windows 7 與 Windows 8) 上使用。C++Builder XE3 亦可支援 Mac OSX 與 Retina 視網膜顯示,讓您可以開發出最佳、美觀、原生且支援自動 HiDPI 顯示的 Mac 應用程式。
+ C5 `. a0 z, m1 Y( {* N0 X* t* O2 y! I$ t
C++ 穩健成長三十載
/ i2 I& N9 _) [三十多年來, C++ 仍是所有作業系統的共同標準 – 至今仍是開發人員程式語言中選擇的標準。現今大多數的商用 Client 與 Server 端應用程式是採用 C++ 所撰寫的,包括 Microsoft Word, Adobe Photoshop, Google Chrome, Firefox, Mac OS X, iOS, Oracle database, Microsoft SQL Server, MySQL 等等。知名的網路公司如 Facebook, PayPal 與 Amazon 亦皆採用 C++,最近著重在 client 的使用經驗以及每一個主要的 OS 與軟體廠商的採用,讓 C++ 較之以往更為重要與更受廣泛使用。
回復

使用道具 舉報

發表於 2012-12-11 14:52:45 | 顯示全部樓層
Embarcadero C++ Builder承繼了十五年前 Borland 原本的 C++ Builder 平台,它包含了Borland C++ compiler 與快速開發功能,而今全新由Embarcadero 所產製的 C++Builder 持續地領先市場推出令人信賴的解決方案,大大地改善品質,研發時程與使用效能與成本,不像其他 C++ 工具,C++Builder 提供給您一個完美融合 agile 敏捷開發 ,符合標準,強大的功能於一身且僅需單一的程式碼讓您的應用程式能分發至多種平台與設備上。. ~: r* v  a% k- Y1 Z& Q% \
' H: ~8 ^) W" F# X: ^7 h7 L* O
讚賞與推薦
+ _$ {& [! b0 E/ K7 TEmbarcadero 的資深產品與行銷副總裁 Michael Swindell 表示: “近年來 Client 端的裝置愈來愈多樣化,帶給程式開發人員更是震撼與困難,今開發人員面對的最大課題是能夠開發多種平台設備的應用程式如Windows, Mac, iOS, 與 Android 且不降低開發效率、使用經驗以及增加開發時程與成本。這些問題與機會,驅使我們重新設計開發出這新的 C++ 平台,C++Builder XE3 的用戶現在可以撰寫一次程式碼,原生分發至各種不同的平台,且只要我們支援新增平台,用戶的效益亦將隨之成長。”
- J2 x+ T2 _$ V6 y: g1 H7 l% E+ x- c: O
Neural Engine 公司 CEO Humberot Bejarano Bravo 表示 : “我們認為C++ Builder 是市面上最好的 Windows 平台之C++ 編譯器,它是個快速 C++ 程式開發工具,讓我們很容易地開發出元件,且它有一個廣泛的合作網路讓所有的 partners 快速地開發出更多的元件。我們能在幾分鐘內開發出原型 prototype ,現在又支援 64 位元,讓我們的應用程式更廣泛地應用在所有的電腦與作業系統上。”/ P7 a+ N  E( L: E* P8 S

" w) q- Y+ |! f# `關於 Embarcadero
, H' ~: \% W* U$ v* P( d
3 ~% w( i( w6 F2 zEmbarcadero Technologies成立於 1993 年,總部位於美國舊金山, Embarcadero 致力於提供業界最佳的軟體工具給程式設計人員,資料庫管理者與軟體架構師使用。讓用戶更有效率且跨平台地設計,開發與部署他們的資料庫與應用程式。
* O4 }' h) w- f( T1 |$ I- n7 f- |! }
5 K. D% c- ^2 [) r( E) J關於捷康科技" c( z8 Q5 v8 \+ z, ]# B+ d0 c
捷康科技(QCOM GROUP) 成立於2000年,總部位於新加坡,是亞太地區知名的軟體開發與專業代理公司,亦是Embarcadero 之授權代理商,目前提供相關產品之客戶服務與技術支援予台灣地區之用戶。
回復

使用道具 舉報

發表於 2013-3-4 13:53:49 | 顯示全部樓層

美商溫瑞爾和WIN Enterprises在RSA大會中共同展示智慧型網路平台

(20130301 11:58:17)全球領先的嵌入式和行動應用軟體領導廠商美商溫瑞爾(Wind River)近日宣佈,溫瑞爾智慧型網路平台(Wind River Intelligent Network Platform)為 WIN Enterprises 最新網路加速板WIN SoNIC ( System-on-NIC) 提供應用。採用溫瑞爾軟體的WIN SoNIC 網路加速板於2013年2月25日至3月1日在舊金山召開的2013年RSA大會中展示。% @2 _$ }" f% i4 d( {" ?0 K
* T& {* s6 Y' i, G/ |" t! Y
WIN SoNIC是一款多功能、易於安裝於伺服器上的加速卡,可以卸載佔用大量CPU資源的應用程式,從而達到快速優化網路效能的目的。作為高彈性、多功能的加速卡,WIN SoNIC可作多樣化的應用,如大型資料加速、雲端資料處理卸載、應用於VPN閘道器、新一代防火牆、媒體閘道器以及幾乎所有受益於CPU卸載的應用場合或網路資料的大量應用。" n, m. V7 ~1 ~) ~% T
3 X9 T( L( U; ]' g, h( J* E. x
和其它單一用途加速卡不同, WIN SoNIC可隨時更改使用目的。因其在硬體和軟體上都支援英特爾虛擬化技術(IntelR Virtualization Technology ),使得網路系統資源在利用率達到了最大值。WIN Enterprises是一家領先的嵌入式控制器OEM廠商和平台製造商。
" b6 j) g% b! h$ R, B! q; F7 r) K) ]
1 m0 _+ _2 b: j6 b6 J  h. O" JWIN Enterprises首席執行長兼首席技術長Chiman Patel 表示:「WIN SoNIC有能力對資料進行預先處理並把資料引導到需要它的地方,並且提供了一個易於提升及維護的通用x86平台,以便適應未來網路的需求。WIN SoNIC由溫瑞爾智慧型網路平台提供支援,並經過深度封包檢測,不僅提高網路性能,還提高了網路智慧化水準」。
8 G% I, R1 q* e/ z/ l 8 o" M0 E* W% K* v4 {- Z; \  A
溫瑞爾通訊平台資深總監Paul Senyshyn表示:「隨著網路產業對於高效能、可擴充性以及智慧化水準需求的提高,企業需要更靈活而強大的解決方案以滿足多元的需求。搭載溫瑞爾軟體的WIN SoNIC在提高性能的同時還可提供高品質的服務,為使用者提供了一個簡單的選擇。通過與WIN Enterprises合作,我們可以在網路智慧化水準和加速技術方面實現新的突破,從而滿足日新月異的網路市場需求 」。9 @# _% A4 i7 k+ z5 z* L1 x( t; }' ~

2 s" }% E" b" G3 B" p) R採用溫瑞爾智慧型網路平台的WIN SoNIC可整合預先處理的資料、深度封包檢測以及加密、加速將網路工作負載合併,在網路應用、控制和封包/內容裡實現了更快、更有效的處理。其採用最新的英特爾通訊架構平台(IntelR Platform for Communications Infrastructure)並整合 Intel QuickAssist 技術,有關WIN SoNIC網路加速板的評價資訊,可向WIN Enterprises索取。0 u+ _' v: K$ T( J% p) P
& ~2 b: X2 |7 H8 J/ N" ~6 m( _% h
溫瑞爾智慧型網路平台由軟體組成,該軟體管理著一個整合的控制和資料平面系統,包括提供快速封包加速以及深度封包檢測等功能的軟體引擎。該軟體平台配置相容Yocto 專案的Wind River Linux。作為一套完整的開發工具,它還可以支援不同的元件組合,如其它版本的Linux。溫瑞爾智慧型網路平台針對IntelR 架構進行了優化,包括最新的英特爾通訊架構平台(IntelR Platform for Communications Infrastructure)並且整合英特爾資料平面開發套件(IntelR Data Plane Development Kit)。
回復

使用道具 舉報

發表於 2013-7-2 10:10:46 | 顯示全部樓層
Software Engineer C++0 Y# W: n( E* a" j8 R
公      司:The world‘s leading cloud computing technology and service provider, l: {4 U9 W/ \9 r% [
工作地点:珠海
. j7 c0 }% M" I3 [$ d7 q2 Z- i
( Z; j9 i6 I3 ?2 \' PJob Description:
1 G! `7 Q) s7 m) P        High qualified software programming according to project requirement , k3 \" J) a& O2 |9 @; b6 @+ D, n: ~! d
        Commit the programming code debugging and unit test
5 k5 y6 w% w+ A- i% T        Review programming code and document the software design
' D) X( [* w' F+ [& ^2 G& S- \( f        Commit the assigned bugs fixing and tracking
: n- c+ B  d- Y        Support project manager on defining the system and software structure ; W/ Y! d: N+ w# p1 O! J9 G
        Commit the assigned tasks on schedule - @  a) b* b5 r$ d) ^- C

% K: W9 M" y/ B- z! _+ fProfessional Requirements: + s' F# ]& n3 C
        Master degree or bachelor degree in electronic or software engineering or related " G0 f- T) }$ K' i; u9 R9 D
        More than 2 years programming experience in C/C++ programming and Java ( X, N) d* e; g+ k$ `
        Working experience under Windows, Linux or embedded operation system is preferred
2 \3 z" p8 L$ ^+ A        Knowledge about UML and OO methodology
  G2 n1 \7 K1 X$ `; ?7 }        Good English communication skill, knowledge about fire product is preferred
回復

使用道具 舉報

發表於 2013-7-23 11:12:19 | 顯示全部樓層

final project

【專案詳細】       
% R( R4 k4 Z3 j( A  i
8 j1 a7 g1 h  V9 L7 d8 C) v7 }/ I1.工作內容:用C語言完成final project- e; {& Y. G0 O$ x8 P0 T
2.配合時間:6/1以前完成4 a, D0 z  T2 X% U$ T
3.配合地點:無8 f  [! [6 u- G" D; ?  z# C
4.專案預算:1000以下) Y( }  m, w/ p9 X2 F2 x
5.注意事項:電話聯絡時間上下午皆可
回復

使用道具 舉報

發表於 2014-4-9 14:31:52 | 顯示全部樓層
Windows Driver and Application Software Engineer+ j9 H8 u8 b% u8 ~4 j' [# ]" p3 J
公      司:A global PC leading enterprise
' @  [0 S" G: e) z) f5 a工作地点:深圳
4 h+ @$ r6 P  R" \( O
4 ^3 n0 D# d+ J; ^9 G: a5 `- pPosition Description: ' C# ]7 \0 u: J5 Q9 _. k+ ?
Individual will be responsible for developing device drivers, based on Windows Biometric Framework (WBF) and Driver model, APIs for applications software, simple fingerprint management application, porting of matching algorithms into WBF. Individual will also be involved in developing application development kits for various Windows based OS platforms. Position is responsible for issues relating to a) enable our production on windows7 and later OS; b) integration of fingerprint biometric hardware into multiple PC based applications, and c) in the long term, for PC peripherals, cell phones and other mobile devices.   Individual will also be responsible for maintaining current and legacy code, bug fixes, feature enhancements, application notes, engineering change orders, customer specific specifications, etc.
" l9 I3 x2 C1 T' W3 u
: d  n6 X% Z6 U" v) TJob Requirements:
' \8 J3 O# d* a, v. M1. Directly responsible for supporting WBF, API development as well as simple FMA.
' Y2 H$ }0 s/ P% n( r2. Support the sensor development team with application software and test development software for assistance with characterization, debugging, and failure analysis
9 H$ L3 a; ?7 }7 @5 b. D3. Software development in Visual C++ /C /C# etc.  
/ c5 q9 Q0 e# `4. Development and management of product specifications, test specifications, standards compliance, etc.
* j1 B) t2 b; D7 d3 e6 L7 g5. Hands-on development using Visual Studio, MFC and InstallShield, with multi-threading support
" l1 w6 X* M  D4 s/ L6. Proficient with Microsoft Visual Studio environment (debugger, profiler, etc.).  
/ G+ c6 B8 l. d% H6 L7 S8 s0 Z' k9 ]7. Knowledge of object-oriented programming is necessary.  2 K8 \/ O, b2 P) u! U  n0 h
8. Knowledge and experience with USB device driver development, and understanding of programming for ARM and DSP based systems. 8 a6 Y% M6 ?1 L9 L& A- V" _3 ]! K
9. Management of internal staffing as well as contractors and other outside resources. $ m( j) O* ^0 h
10. Collaboration and interface with peer groups.
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-3-29 02:16 AM , Processed in 0.153009 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表