微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚敐澶婄闁挎繂妫Λ鍕⒑閸濆嫷鍎庣紒鑸靛哺瀵鈽夊Ο閿嬵潔濠殿喗顨呴悧濠囧极妤e啯鈷戦柛娑橈功閹冲啰绱掔紒姗堣€跨€殿喖顭烽幃銏ゆ惞閸︻叏绱查梻渚€娼х换鎺撴叏閻㈠憡鍊剁€广儱顦伴埛鎴犵磼鐎n亝鍋ユい搴㈩殕閵囧嫰鏁傜拠鑼桓闂佺偨鍎荤粻鎾崇暦缁嬭鏃€鎷呴崨濠勬澓闂傚倸鍊搁崐鎼佹偋婵犲嫮鐭欓柟杈捐缂嶆牜鈧厜鍋撻柍褜鍓涘Σ鎰板箻鐎涙ê顎撻梺鍛婄箓鐎氼喛銇愬▎鎾粹拺闁硅偐鍋涢崝鈧梺鍛婄矆缁€渚€寮查敐澶嬧拻濞达絿鐡旈崵娆撴倵濞戞帗娅囩紒顔界懇楠炴帡寮撮悢绋挎闂傚倷娴囬褏鎹㈤幇顑炵懓顫濈捄鍝勫亶婵犻潧鍊搁幉锛勭不閹烘挾绡€闁汇垽娼у瓭闂佹寧娲忛崐婵嬬嵁婵犲啯鍎熼柕蹇嬪焺濞叉悂姊虹拠鈥崇伇闁诲繑姊归幆鏃堝Ω閵壯冣偓鐐烘偡濠婂嫮绠為柣鎿冨墴椤㈡鍩€椤掑嫬鐓橀柟杈剧畱閻忓磭鈧娲栧ú銈夋偂閻斿吋鍊甸悷娆忓缁€鍫ユ煕閻樺磭澧甸柕鍡曠椤粓鍩€椤掑嫬绠栨繛鍡楁禋閸熷懏銇勯弮鍫熸殰闁稿鎹囬獮姗€顢欑憴锝嗗闂備胶枪閺堫剟鎮疯钘濋柨鏇炲€归悡娆撴偣閸ュ洤鎳愰惁鍫ユ⒑鐠団€虫灓闁稿繑蓱娣囧﹪鎮块锝喰柣搴ゎ潐濞叉牕顕i崼鏇炵疄闁靛ǹ鍎哄〒濠氭偣閸ヮ亜绱﹀瑙勬礋閺岋絾鎯旈姀鈺佹櫛闂佸摜濮甸悧鐘诲灳閿曞倹鍊婚柦妯侯槹閻庮剟姊鸿ぐ鎺戜喊闁告ǹ鍋愬▎銏ゆ倷濞村鏂€闂佺粯蓱瑜板啴顢旈幘顔界厱婵﹩鍓氶崵鍥ㄦ叏婵犲嫮甯涢柟宄版嚇閹兘鏌囬敃鈧▓婵堢磽閸屾瑦绁版い鏇嗗洤纾规慨婵嗙灱娴滆鲸淇婇悙顏勨偓鏍箰妤e啫纾归柨婵嗘噳濡插牓鏌曡箛鏇炐ユい锔芥緲椤啴濡堕崱妯烘殫婵犳鍠氶崗姗€寮鍛牚闁割偆鍟块幏铏圭磽閸屾瑧鍔嶉柨姘攽椤曞棛鐣甸柡灞剧洴楠炴ḿ鈧潧鎲¢崳浼存倵鐟欏嫭绀冪紒璇茬墛娣囧﹪宕奸弴鐐茶€垮┑鐐叉閸╁牓宕惔锝囩=濞达綁缂氬鎼佹煕濞嗗繐鏆i挊鐔兼煙閹规劖纭惧┑顕呭墴閺屽秷顧侀柛鎾跺枛楠炲啫螖閳ь剟鍩㈤幘璇插瀭妞ゆ梻鏅禍顏呬繆閻愵亜鈧倝宕㈡ィ鍐ㄧ婵せ鍋撻柣娑卞櫍瀹曟﹢顢欑喊杈ㄧ秱闂備線娼ч悧鍡涘箠鎼达絿鐜绘繛鎴炵懅缁♀偓闂佹眹鍨藉ḿ褍鐡梺璇插閸戝綊宕板☉銏犵9闁圭虎鍠楅埛鎺楁煕鐏炴崘澹橀柍褜鍓熼ˉ鎾跺垝閸喓鐟归柍褜鍓熼悰顔藉緞閹邦厽娅㈤梺缁樓圭亸娆擃敊閸ヮ剚鈷戠紒顖涙礀婢ц尙绱掔€n偄鐏ユい鏂跨箰閳规垿宕堕妷銈囩泿闂備礁鎼崯顐﹀磹婵犳艾绠洪柛宀€鍋為悡鏇㈡煟閺冨牊鏁遍柛锝囨櫕缁辨帗娼忛妸锕€纾抽悗瑙勬礃鐢帡锝炲┑瀣垫晞闁芥ê顦竟鏇㈡⒑瑜版帗锛熺紒鈧担鍝勵棜鐟滅増甯楅悡鐔兼煙鏉堝墽鍒扮悮姘舵⒑閹肩偛鈧洜鈧矮鍗冲濠氬Χ婢跺﹦顔愭繛杈剧秬椤鏌ㄩ銏♀拺闁硅偐鍋涙俊鑺ユ叏婵犲倻绉哄┑锛勬暬瀹曠喖顢涘槌栧晪闂備礁鎲¢〃鍫ュ磻閻斿摜顩峰┑鍌氭啞閳锋垿鏌熼懖鈺佷粶濠碘€炽偢閺屾稒绻濋崒娑樹淮閻庢鍠涢褔鍩ユ径鎰潊闁冲搫鍊瑰▍鍥⒒娴g懓顕滅紒璇插€歌灋婵炴垟鎳為崶顒€唯闁冲搫鍊甸幏娲⒑閼恒儍顏埶囬鐐叉辈闁绘柨鍚嬮悡鏇㈡煟濡櫣锛嶅褏鏁搁埀顒侇問閸犳牠鈥﹀畡閭﹀殨闁圭虎鍠楅崑鍕煣韫囨凹鍤冮柛鐔烽叄濮婄粯鎷呴搹鐟扮闂佸憡妫戠粻鎾崇暦濠婂喚娼╅柤鎼佹涧娴犙囨⒑閸濆嫭鍌ㄩ柛銊︽そ閸╂盯骞嬮悩鐢碉紲闁诲函缍嗛崑鎺楀磿閵夆晜鐓曢幖杈剧磿缁犳彃菐閸パ嶈含妞ゃ垺娲熼弫鎰板炊閳哄啯婢栭梺璇插椤旀牠宕板☉銏╂晪鐟滄棃宕洪妷锕€绶炲┑鐘插閸嶉潧顪冮妶鍡楀Ё缂佽尪濮ら崚濠冨鐎涙ǚ鎷绘繛杈剧到閹诧繝宕悙鐑樼厵缂佸瀵чˉ銏ゆ煕閳规儳浜炬俊鐐€栧濠氬磻閹捐纭€闂侇剙绉甸悡鏇熴亜閹板墎鎮肩紒鐘劜缁绘盯骞橀幇浣哄悑闂佸搫鏈ú鐔风暦閻撳簶鏀介柛銉戝嫮鏆梻鍌欒兌缁垳绮欓幒鏂垮灊闁规崘顕ч拑鐔兼煟閺冨倸甯剁紒鈧崟顖涚厪闁割偅绻冮ˉ婊勩亜韫囥儲瀚�04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佺粯鍔﹂崜娆撳礉閵堝洨纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯閻忓繑鐗楃€氫粙姊虹拠鏌ュ弰婵炰匠鍕彾濠电姴浼i敐澶樻晩闁告挆鍜冪床闂備浇顕栭崹搴ㄥ礃閿濆棗鐦遍梻鍌欒兌椤㈠﹤鈻嶉弴銏犵闁搞儺鍓欓悘鎶芥煛閸愩劎澧曠紒鈧崘鈹夸簻闊洤娴烽ˇ锕€霉濠婂牏鐣洪柡灞诲妼閳规垿宕卞▎蹇撴瘓缂傚倷闄嶉崝宀勫Χ閹间礁钃熼柣鏂垮悑閸庡矂鏌涘┑鍕姢鐞氾箓姊绘担鍛婃儓闁活厼顦辩槐鐐寸瑹閳ь剟濡存担鍓叉建闁逞屽墴楠炲啫鈻庨幘宕囶啇濡炪倖鎸鹃崳銉ノ涜濮婂宕掑▎鎴犵崲濠电偘鍖犻崗鐐☉閳诲酣骞嬮悙瀛橆唶闂備礁婀遍崕銈夈€冮幇顔剧闁哄秲鍔庣弧鈧梻鍌氱墛娓氭宕曢幇鐗堢厸闁告侗鍠氶崣鈧梺鍝勬湰缁嬫垿鍩ユ径鎰闁绘劕妯婂ḿ缁樹繆閻愵亜鈧垿宕曢弻銉﹀殞濡わ絽鍟悡姗€鏌熺€电ǹ浠滅紒鐘靛█濮婅櫣绮欓崠鈩冩暰濡炪們鍔屽Λ婵嬬嵁閸儱惟闁冲搫鍊搁埀顒€顭烽弻锕€螣娓氼垱楔闂佹寧绋掗惄顖氼潖閾忓湱纾兼俊顖氭惈椤酣姊虹粙璺ㄦ槀闁稿﹥绻傞悾鐑藉箣閻橆偄浜鹃柨婵嗛閺嬬喖鏌i幘璺烘瀾濞e洤锕、娑樷攽閸℃鍎繝鐢靛Л閸嬫挸霉閻樺樊鍎愰柣鎾冲暟閹茬ǹ饪伴崼婵堫槯濠电偞鍨剁喊宥夘敃閼恒儲鍙忔慨妤€妫楁晶濠氭煕閵堝棙绀嬮柡宀€鍠撶槐鎺楀閻樺磭浜俊鐐€ら崑鍕箠濮椻偓瀵顓兼径濠勫幐婵炶揪绲介幉鈥斥枔閺屻儲鈷戠紓浣贯缚缁犳牗绻涢懠顒€鏋庢い顐㈢箳缁辨帒螣鐠囧樊鈧捇姊洪懞銉冾亪鏁嶅澶婄缂備焦岣块崣鍡椻攽椤旀枻渚涢柛妯款潐缁傚秴饪伴崼鐔哄弳闂佸搫鍟ù鍌炲吹濞嗘挻鐓涢悗锝冨妼閳ь剚顨堝Σ鎰板箳閹惧绉堕梺闈涒康鐎靛苯螞閸愵喗鍊垫繛鍫濈仢閺嬬喖鏌熷灞剧彧闁逛究鍔戦崺鈧い鎺戝閻撳啴姊哄▎鎯х仩濞存粓绠栧楦裤亹閹烘繃顥栫紓渚囧櫘閸ㄦ娊骞戦姀鐘婵炲棙鍔楃粔鍫曟⒑閸涘﹥瀵欓柛娑樻噺閼归箖鍩為幋锔藉€烽柛娆忣槸閻濇梻绱撴担鐟扮祷婵炲皷鈧剚鍤曟い鎰跺瘜閺佸﹪鎮樿箛鏃傚妞ゎ偄绉瑰娲濞戙垻宕紓浣介哺濞茬喎鐣烽姀銈嗙劶鐎广儱妫岄幏娲⒑閸涘﹦绠撻悗姘煎墴瀵櫕绻濋崶銊у幈闁诲函缍嗛崑鍛焊閹殿喚纾肩紓浣贯缚濞叉挳鏌熷畷鍥р枅妞ゃ垺顨婇崺鈧い鎺戝閸戠姵绻涢幋娆忕仾闁绘挾鍠愮换娑㈠箣濠靛棜鍩炲┑鐐叉噹缁夊爼鍩€椤掍緡鍟忛柛鐘虫礈閸掓帒鈻庨幘鎵佸亾娴h倽鐔封枎閻愵儷顏堟⒒娴e憡鎯堥柟鍐茬箳閹广垽宕煎┑鎰稁濠电偛妯婃禍婵嬎夐崼鐔虹闁瑰鍋犳竟妯汇亜閿濆懏鎯堥柍瑙勫灴閹瑦锛愬┑鍡樼杺缂傚倷娴囩亸顏勨枖閺囥垹绀嗛柟鐑橆殢閺佸洭鏌i弮鍫缂佹劗鍋炵换婵嬫偨闂堟刀銏ゆ倵濞戞帗娅囬柍褜鍓熷ḿ褔鎯岄崒姘兼綎婵炲樊浜濋ˉ鍫熺箾閹寸偠澹樻い锝呮惈閳规垿鍩ラ崱妞剧凹缂備礁顑嗙敮鈥愁嚕閺屻儱閱囬柡鍥╁枔閸斿爼鎮楅獮鍨姎婵☆偅鐩畷銏ゆ焼瀹ュ棛鍘介柟鍏兼儗閸ㄥ磭绮旈悽鍛婄厱闁规儳顕幊鍕磼閸屾稑娴柡灞芥椤撳ジ宕卞▎蹇撶濠碉紕鍋戦崐鏍洪弽顬稑鈽夊顒€袣闂侀€炲苯澧紒缁樼箘閸犲﹥寰勫畝鈧敍鐔兼⒑缁嬭法绠查柨鏇樺灩閻e嘲煤椤忓懏娅㈤梺缁樓圭亸娆撴晬濠婂啠鏀介柣妯款嚋瀹搞儵鏌涢悤浣镐簽缂侇喛顕х叅妞ゅ繐鎳夐幏濠氭⒑缁嬫寧婀伴柣鐔濆泚鍥晝閸屾稓鍘电紒鐐緲瀹曨剚绂嶅⿰鍫熷亗闁靛牆顦伴悡蹇撯攽閻愰潧浜炬繛鍛噽閻ヮ亪宕滆鐢稓绱掔紒妯兼创妤犵偛顑呴埢搴ょ疀閺囨碍鍋呴梻鍌欒兌缁垳鏁幒妤佸€舵慨妯挎硾妗呴梺鍛婃处閸ㄦ壆绮婚幎鑺ョ厱闁斥晛鍟ㄦ禒锕€顭跨憴鍕缂佺粯绻堥幃浠嬫濞磋埖鐩弻娑氣偓锝庡亝瀹曞本鎱ㄦ繝鍐┿仢妞ゃ垺顨婇崺鈧い鎺戝€婚惌鎾绘煙缂併垹鏋熼柛濠傛健閺屾盯鈥﹂幋婵呯按婵炲瓨绮嶇划鎾诲蓟閻旂厧浼犻柛鏇ㄥ帨閵夆晜鐓曢煫鍥ㄦ尵閻掓悂鏌$仦鍓ф创闁诡喓鍨藉畷顐﹀Ψ閵夈儳鍝楅梻鍌欑閹碱偊鎯夋總绋跨獥闁哄诞鍛濠电偛妫欓幐绋挎纯闂備胶纭堕崜婵嬨€冭箛鏂款嚤闁跨噦鎷�02闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佺粯鍔﹂崜娆撳礉閵堝洨纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯閻忓繑鐗楃€氫粙姊虹拠鏌ュ弰婵炰匠鍕彾濠电姴浼i敐澶樻晩闁告挆鍜冪床闂備浇顕栭崹搴ㄥ礃閿濆棗鐦遍梻鍌欒兌椤㈠﹤鈻嶉弴銏犵闁搞儺鍓欓悘鎶芥煛閸愩劎澧曠紒鈧崘鈹夸簻闊洤娴烽ˇ锕€霉濠婂牏鐣洪柡灞诲妼閳规垿宕卞▎蹇撴瘓缂傚倷闄嶉崝宀勫Χ閹间礁钃熼柣鏂垮悑閸庡矂鏌涘┑鍕姢鐞氾箓姊绘担鍛婃儓闁活厼顦辩槐鐐寸瑹閳ь剟濡存担鍓叉建闁逞屽墴楠炲啫鈻庨幘宕囶啇濡炪倖鎸鹃崳銉ノ涜濮婂宕掑▎鎴犵崲濠电偘鍖犻崗鐐☉閳诲酣骞嬮悙瀛橆唶闂備礁婀遍崕銈夈€冮幇顔剧闁哄秲鍔庣弧鈧梻鍌氱墛娓氭宕曢幇鐗堢厸闁告侗鍠氶崣鈧梺鍝勬湰缁嬫垿鍩ユ径鎰闁绘劕妯婂ḿ缁樹繆閻愵亜鈧垿宕曢弻銉﹀殞濡わ絽鍟悡姗€鏌熺€电ǹ浠滅紒鐘靛█濮婅櫣绮欓崠鈩冩暰濡炪們鍔屽Λ婵嬬嵁閸儱惟闁冲搫鍊搁埀顒€顭烽弻锕€螣娓氼垱楔闂佹寧绋掗惄顖氼潖閾忓湱纾兼俊顖氭惈椤酣姊虹粙璺ㄦ槀闁稿﹥绻傞悾鐑藉箣閻橆偄浜鹃柨婵嗛閺嬬喖鏌i幘璺烘瀾濞e洤锕、娑樷攽閸℃鍎繝鐢靛Л閸嬫挸霉閻樺樊鍎愰柣鎾冲暟閹茬ǹ饪伴崼婵堫槯濠电偞鍨剁喊宥夘敃閼恒儲鍙忔慨妤€妫楁晶濠氭煕閵堝棙绀嬮柡宀€鍠撶槐鎺楀閻樺磭浜俊鐐€ら崑鍕箠濮椻偓瀵顓兼径濠勫幐婵炶揪绲介幉鈥斥枔閺屻儲鈷戠紓浣贯缚缁犳牠鏌eΔ鍐ㄐ㈡い顐㈢箳缁辨帒螣閼测晜鍤岄梻渚€鈧偛鑻晶鎾煕閳规儳浜炬俊鐐€栫敮鎺楀磹閸涘﹦顩锋繝濠傜墛閻撶姵绻涢懠棰濆殭闁诲骏绻濋弻锟犲川椤撶姴鐓熷Δ鐘靛仜缁夊綊銆佸▎鎾崇鐟滄繄妲愰崣澶夌箚闁绘劦浜滈埀顒佺墪鐓ら柡宥庣仜濞戞ǚ妲堥柕蹇曞Х椤︻偅绻涚€电ǹ甯堕柣掳鍔戦獮濠傤潩閼哥數鍘搁悗骞垮劚濞撮攱绂嶉崷顓熷枑闁绘鐗嗙粭姘舵煛閸涱喚鍙€闁哄本鐩、鏇㈠Χ閸涱喚褰欏┑鐐差嚟婵參寮插☉鈶┾偓鏃堝礃椤斿槈褔鏌涢埄鍏︽岸骞忛悷鎵虫斀闁绘劘娉涢惃娲煕閻樻煡鍙勯柨婵堝仩缁犳盯骞樻担瑙勩仢妞ゃ垺妫冨畷銊╊敇濠靛牊鏆伴梻鍌氬€峰ù鍥綖婢舵劦鏁婇柡宥庡幖缁愭淇婇妶鍛櫣缂佺姷鍠庨埞鎴﹀磼濮橆厼鏆堥梺鎶芥敱閸ㄥ潡寮婚妶鍡樺弿闁归偊鍏橀崑鎾诲即閵忕姴鍤戦梺绋跨灱閸嬬偤鎮¢弴銏犵閺夊牆澧界粙濠氭煛閸♀晛澧い銊e劦閹瑩骞撻幒鎾搭唲婵$偑鍊ら崑鍛垝閹捐鏄ラ柍褜鍓氶妵鍕箳閹存繍浠奸梺鍝勫閸庣敻寮婚妸鈺傚亜闁告繂瀚呴姀銏㈢<闁逞屽墴瀹曟﹢鍩炴径鍝ョ泿闂傚⿴鍋勫ú锕傚箰婵犳碍鏅柡鍐ㄥ€荤壕濂稿级閸稑濡块柛娆屽亾婵犳鍠栭敃锔惧垝椤栫偛绠柛娑樼摠閹偤鏌i悢绋款棆妞ゆ劕銈稿缁樻媴閽樺鎯為梺鍝ュТ濡繂鐣疯ぐ鎺撳癄濠㈣泛鏈▓楣冩⒑绾懏褰х紒鐘冲灩缁鎳¢妶鍥╋紳婵炶揪缍€閻ゎ喚绱撳鑸电厱婵せ鍋撳ù婊嗘硾椤繐煤椤忓拋妫冨┑鐐寸暘閸斿瞼绱炴繝鍌滄殾闁哄洢鍨圭粻顕€鏌﹀Ο渚Ч婵″樊鍓熷娲箰鎼达絿鐣靛┑鐐跺皺婵炩偓鐎规洘鍨块獮姗€寮妷锔句簴闂備礁澹婇悡鍫ュ窗濡ゅ懏鍊堕柛顐g箥濞撳鏌曢崼婵嬵€楃€殿噮鍣i弻锟犲焵椤掍焦缍囬柕濞р偓閺€铏節閻㈤潧孝婵炲眰鍊楃划濠氭偡閹冲﹤缍婇弫鎰板川椤旇棄鏋戦梻浣告啞钃遍柟顔煎€搁~蹇涙惞閸︻厾鐓撻梺鍦圭€涒晠骞忛柆宥嗏拺婵炶尪顕у楣冩煕閻樺啿鍝洪柟宕囧仦濞煎繘濡歌濞村嫰鏌f惔顖滅У闁稿鍋撻梺褰掝棑缁垳鎹㈠☉娆愮秶闁告挆鍐ㄧ厒闂備胶顢婂▍鏇㈡偡閵娾晛桅闁圭増婢樼粻鎶芥煙鐎涙ḿ绠樼憸鏉款槹娣囧﹪鎮欓鍕ㄥ亾閺嶎偅鏆滈柟鐑橆殔绾剧懓鈹戦悩宕囶暡闁稿孩顨嗙换娑㈠幢濡闉嶉梺缁樻尰閻熲晛顕i崼鏇為唶闁绘柨鍢叉慨銏ゆ⒑娴兼瑩妾紒顔芥崌瀵鍩勯崘鈺侇€撶紓浣割儏缁ㄩ亶宕戦幘璇查敜婵°倐鍋撻柦鍐枛閺屾洘绻涢悙顒佺彆闂佺ǹ顑呭Λ婵嬪蓟濞戞矮娌柛鎾椻偓濡插牆顪冮妶鍛寸崪闁瑰嚖鎷� 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佺粯鍔﹂崜娆撳礉閵堝洨纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯閻忓繑鐗楃€氫粙姊虹拠鏌ュ弰婵炰匠鍕彾濠电姴浼i敐澶樻晩闁告挆鍜冪床闂備浇顕栭崹搴ㄥ礃閿濆棗鐦遍梻鍌欒兌椤㈠﹤鈻嶉弴銏犵闁搞儺鍓欓悘鎶芥煛閸愩劎澧曠紒鈧崘鈹夸簻闊洤娴烽ˇ锕€霉濠婂牏鐣洪柡灞诲妼閳规垿宕卞▎蹇撴瘓缂傚倷闄嶉崝宀勫Χ閹间礁钃熼柣鏂垮悑閸庡矂鏌涘┑鍕姢鐞氾箓姊绘担鍛婃儓闁活厼顦辩槐鐐寸瑹閳ь剟濡存担鍓叉建闁逞屽墴楠炲啫鈻庨幘宕囶啇濡炪倖鎸鹃崳銉ノ涜濮婂宕掑▎鎴犵崲濠电偘鍖犻崗鐐☉閳诲酣骞嬮悙瀛橆唶闂備礁婀遍崕銈夈€冮幇顔剧闁哄秲鍔庣弧鈧梻鍌氱墛娓氭宕曢幇鐗堢厸闁告侗鍠氶崣鈧梺鍝勬湰缁嬫垿鍩ユ径鎰闁绘劕妯婂ḿ缁樹繆閻愵亜鈧垿宕曢弻銉﹀殞濡わ絽鍟悡姗€鏌熺€电ǹ浠滅紒鐘靛█濮婅櫣绮欓崠鈩冩暰濡炪們鍔屽Λ婵嬬嵁閸儱惟闁冲搫鍊搁埀顒€顭烽弻锕€螣娓氼垱楔闂佹寧绋掗惄顖氼潖閾忓湱纾兼俊顖氭惈椤酣姊虹粙璺ㄦ槀闁稿﹥绻傞悾鐑藉箣閻橆偄浜鹃柨婵嗛閺嬬喖鏌i幘璺烘瀾濞e洤锕、娑樷攽閸℃鍎繝鐢靛Л閸嬫挸霉閻樺樊鍎愰柣鎾冲暟閹茬ǹ饪伴崼婵堫槯濠电偞鍨剁喊宥夘敃閼恒儲鍙忔慨妤€妫楁晶濠氭煕閵堝棙绀嬮柡宀€鍠撶槐鎺楀閻樺磭浜俊鐐€ら崑鍕箠濮椻偓瀵鏁愰崨鍌滃枛閹筹繝濡堕崨顖欐偅闂傚倷鐒﹂幃鍫曞磿椤栫偛绀夐幖娣妼閸屻劑姊洪鈧粔鐢告偂閻旇偐鍙撻柛銉e妽缁€鈧繛瀵稿У缁矂鈥﹂懗顖fШ缂備緡鍠楅悷鈺呯嵁閸愵喗鏅搁柣娆屽亾闁轰礁绉甸幈銊ノ熼崹顔绘睏闂佸摜鍋熼弫濠氬蓟閿濆鍋勯柛婵勫劜閸Q囨煟鎼淬垹鍤柛妯哄⒔閸掓帡宕奸妷銉у姦濡炪倖甯掔€氼參鍩涢幋锔藉€甸柛锔诲幖椤庡本绻涢崗鐓庡闁哄本鐩俊鎼佸Ψ閿曗偓娴犳挳姊洪棃娑欘棛缂佲偓娓氣偓閸┿垺鎯旈妸銉ь吅闂佺粯岣块。顔炬閺屻儲鈷掑ù锝囩摂濞兼劙鏌涙惔銈嗙彧闁哄懓鍩栭幆鏃堟晲閸モ晛绠垫繝寰锋澘鈧洟骞婅箛娑樼厱闁圭儤鍤氳ぐ鎺撴櫜闁告侗鍠栭弳鍫ユ⒑閸濄儱鏋旈柛瀣仱婵$敻宕熼锝嗘櫍闂佺粯鍔栭幆灞轿涢敃鍌涘€甸悷娆忓缁€鍐煥閺囨ê鐏茬€殿噮鍋婇獮鍥级閸喛鈧灝鈹戦悙鍙夘棞闁兼椿鍨辩粋宥夋倷椤掑倻顔曢悗鐟板閸犳洜鑺辨總鍛婄厱濠电姴鍊绘禒娑欍亜閵婏絽鍔﹂柟顔界懇閹崇娀顢栭懗顖涱€楅梻鍌欑閹测€愁潖閸︻厼鏋堢€广儱娲﹀畷鍙夌箾閹存瑥鐏柛銈嗗灦閵囧嫰骞掗崱妞惧闂備礁鐤囬褔鎮ц箛娑樼劦妞ゆ帒鍠氬ḿ鎰箾閸欏鑰跨€规洖缍婂畷绋课旈崘銊с偊婵犳鍠楅妵娑㈠磻閹剧粯鐓欓柧蹇e亞閻帗淇婇銏犳殭闁宠棄顦埢搴ㄥ箣閺傚じ澹曞銈嗘尪閸ㄦ椽鍩涢幒鎳ㄥ綊鏁愰崨顔兼殘闂佸摜鍠撻崑鐐垫崲濞戞碍瀚氱憸蹇涙偩閻㈢鍋撶憴鍕缂侇喖鐭傞崺銉﹀緞閹邦剦娼婇梺鏂ユ櫅閸燁垶鎮甸锝囩瘈闁汇垽娼ф禒锕傛煕椤垵鐏︾€规洜鎳撶叅妞ゅ繐瀚崢閬嶆⒑绾懏褰ч梻鍕閹繝寮撮悢铏诡啎闂佺懓顕崐鎴濐潩閼搁潧鍓抽柣搴秵閸嬪棛绮绘ィ鍐╃厱妞ゆ劑鍊曢弸鎴犵磼閳ь剟鍩€椤掑嫭鈷戦悗鍦濞兼劙鏌涢妸銉﹀仴妤犵偛鍟埢搴ㄥ箣閻愯尙褰撮柣鐔哥矋閸ㄥ灝鐣烽妷鈺婃晝闁挎棁袙閹锋椽鏌i悩鍙夌闁逞屽墲濞呮洟鎮橀崱娑欌拺闁告稑饪村▓鏇炩攽閻愯韬┑鈥崇摠閹峰懘宕滈崣澶婂厞闂佽崵濞€缂傛艾鈻嶉敐澶婄闁挎洍鍋撴い顏勫暣婵″爼宕卞Δ鈧ḿ鎴︽⒑缁嬫鍎愰柟鐟版喘瀵鏁愭径瀣珳闂佹悶鍎滈崘銊ь吅闂佽姘﹂~澶娒洪弽顓炍х紒瀣儥閸ゆ洟鏌熺紒銏犳灈閹喖姊洪幐搴㈩梿濠殿喓鍊濋幃闈涒堪閸曨厾鐦堥梺姹囧灲濞佳嗏叿闂備焦鎮堕崝搴ㄥ储瑜旈崺銏ゅ棘鎼存挻顫嶉梺闈涚箚閺呮粓寮查悙鐑樷拺缂侇垱娲栨晶鏌ユ煏閸ャ劎娲寸€殿喚枪椤撳吋寰勭€n亖鍋撻崼鏇熺厽闁归偊鍠氱粈瀣煙閻戞﹩娈旂紓浣叉櫅闇夐柣妯烘▕閸庢劙鏌i幘璺烘瀾濞e洤锕、娑樷攽閸ユ湹鍝楀┑鐐差嚟婵敻鎯勯鐐茶摕闁跨喓濮撮獮銏ょ叓閸ャ劍鈷愰柣婵囨濮婅櫣鈧湱濯ḿ鎰版煕閵娿儲鍋ラ柕鍡曠閳诲酣骞橀弶鎴炵枀闂備線娼чˇ顓㈠磿闁秴缁╂い鎾跺枍缁诲棝鏌曢崼婵囨悙閸熸悂姊虹粙娆惧剱闁烩晩鍨跺顐﹀礃椤斿槈銊╂煏婢舵ê鏋涙繛鍫亰濮婃椽宕ㄦ繝鍐槱闂佹悶鍔嶆竟鍡欏垝鐠囨祴妲堟繛鍡楃С缁ㄥ姊洪崷顓炲妺闁搞劌鐏氱粋宥夊箥椤斿墽锛滈梻渚囧墮缁夋娊骞夐悙顒佸弿濠电姴瀚敮娑㈡煙瀹勭増鍣界紒顔炬暩閳ь剨缍嗛崑鍡欑矓閻戣姤鐓熼幖娣€ゅḿ鎰箾閸欏鑰块柡浣稿暣婵偓闁靛牆鍟犻崑鎾存媴閸撳弶鍍甸梺褰掝暒閻掞箓鍩㈠畝鍕拻濞达絽鎲¢幆鍫ユ偠濮樼厧浜扮€规洘绻堥獮瀣倷閹殿喚鐣鹃梻浣稿閸嬪懎煤閺嶎厾宓侀柕蹇嬪€栭悡娑㈡煕閵夈垺娅呴崯鎼佹⒑娴兼瑧绉紒鐘崇墪椤繒绱掑Ο鑲╂嚌闂侀€炲苯澧畝锝堝劵椤﹀綊鏌熼銊ユ搐楠炪垺绻涢崱妤勫濞存粎鍋撻幈銊ノ熼悡搴′粯闂佽楠忔俊鍥焵椤掑喚娼愭繛鍙夛耿閵嗗啴宕ㄧ€涙ê浠煎┑鐘绘涧椤戝懐绮堢€n偁浜滈柟鐑樺灥閳ь剚鎮傞悰顕€宕奸悢铏圭槇闂佹眹鍨藉ḿ褎绂掑⿰鍕箚妞ゆ劧缍嗗▓姗€鏌熼獮鍨伈妤犵偛顑勭紞鍛熆閼搁潧濮囨い顐㈡嚇閺屽秹鍩℃担鍛婃閻庢鍠楃€笛呮崲濠靛鍋ㄩ梻鍫熷垁閵忋倖鐓欓柛鎰皺缁犵粯銇勯姀鈩冾棃闁诡喒鏅犻幃浠嬫偨绾板搴婇梻浣告惈椤︻垶鎮ч崟顖氱鐎光偓閳ь剛鍒掗銏犵婵°倓鐒﹂崵澶愭⒑閹稿海绠撴い锔垮嵆閹繝鎮╁ù瀣杸濡炪倖妫佸Λ鍕叏閸ヮ剚鐓冪憸婊堝礂濞嗘挸纾归柡鍥╁仜缁侇偅淇婇悙顏勨偓鏍暜閹烘柡鍋撳鐓庡籍闁糕晜鐩獮鎺楀箠閵娿儳绉洪柡浣瑰姍瀹曘劑顢欓崗鑲╂毉闂佽崵鍠愮划搴㈡櫠濡ゅ啯鏆滄俊銈呮噹閻ょ偓绻濋棃娑卞剱闁绘挸绻橀弻娑㈩敃閿濆洨鐣洪柣搴㈣壘閹虫﹢寮婚妶澶婄骇闁圭ǹ楠告禒鏉戔攽椤旂》鏀绘俊鐐扮矙閵嗕礁螖閸涱厾鍔﹀銈嗗笒閸婂鎯岄幘缁樼厵缂備降鍨归弸鐔兼煕婵犲倹鍋ラ柡灞剧洴閳ワ箓骞嬪┑鍛寜濠电偛鐡ㄧ划宥囧垝閹捐钃熼柣鏃傚帶娴肩娀鏌涢弴銊ュ辅闁靛鏅滈悡鏇㈢叓閸ャ劍灏甸柣鎺撴倐閺岋紕浠﹂崜褎鍒涢梺璇″枔閸ㄨ棄鐣烽锕€唯闁靛鍎抽崫妤呮⒒閸屾瑧顦﹂柟纰卞亰閹绺界粙璺ㄧ崶闂佸搫璇為崨顔筋啎婵犵數鍋涘Λ娆撳箰缁嬫寧绾梻鍌欒兌绾爼宕滃┑瀣ㄢ偓鍐疀閺傛鍤ら梺璺ㄥ櫐閹凤拷濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻锝夊箣閿濆棭妫勯梺鍝勵儎缁舵岸寮诲☉妯锋婵鐗婇弫楣冩⒑閸涘﹦鎳冪紒缁橈耿瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顖涒拺闁告繂瀚烽崕搴g磼閼搁潧鍝虹€殿喛顕ч埥澶娢熼柨瀣垫綌婵犳鍠楅〃鍛存偋婵犲洤鏋佸Δ锝呭暞閳锋垿鏌涘☉姗堝姛闁瑰啿鍟扮槐鎺旂磼濮楀牐鈧法鈧鍠栭…鐑藉极閹邦厼绶炲┑鐘插閸氬懘姊绘担鐟邦嚋缂佽鍊歌灋妞ゆ挾鍊e☉銏犵妞ゆ牗绋堥幏娲⒑閸涘﹦绠撻悗姘卞厴瀹曟洘鎯旈敐鍥╋紲闂佸吋鎮傚ḿ褔宕搹鍏夊亾濞堝灝鏋涙い顓犲厴楠炲啴濮€閵堝懐顦ч柣蹇撶箲閻楁鈧矮绮欏铏规嫚閺屻儱寮板┑鐐板尃閸曨厾褰炬繝鐢靛Т娴硷綁鏁愭径妯绘櫓闂佸憡鎸嗛崪鍐簥闂傚倷鑳剁划顖炲礉閿曞倸绀堟繛鍡樻尭缁€澶愭煏閸繃顥撳ù婊勭矋閵囧嫰骞樼捄鐩掋垽鏌涘Ο渚殶闁逞屽墯椤旀牠宕伴弽顓涒偓锕傛倻閽樺鐎梺褰掑亰閸樿偐娆㈤悙娴嬫斀闁绘ɑ褰冮顐︽煛婢跺﹥鍟炲ǎ鍥э躬閹瑩顢旈崟銊ヤ壕闁哄稁鍋呴弳婊冣攽閻樺弶澶勯柛濠傛健閺屻劑寮撮悙娴嬪亾閸濄儱顥氶柛褎顨嗛悡娆撴煕閹炬鎳庣粭锟犳⒑閹惰姤鏁遍柛銊ユ健瀵鎮㈤崗鐓庢異闂佸疇妗ㄥ鎺斿垝閼哥數绡€缁剧増菤閸嬫捇鎮欓挊澶夊垝闂備礁鎼張顒傜矙閹烘梹宕叉繝闈涱儏绾惧吋绻涢幋鐏荤厧菐椤曗偓閺岋絾鎯旈姀鈺佹櫛闂佸摜濮甸惄顖炪€佸鎰佹▌闂佺硶鏂傞崕鎻掝嚗閸曨垰绠涙い鎺戭槹缂嶅倿姊绘担绋挎毐闁圭⒈鍋婂畷鎰版偡閹佃櫕鐎洪梺鎼炲労閸撴岸鍩涢幒鎳ㄥ綊鏁愰崶銊ユ畬濡炪倖娲樼划搴f閹烘梹瀚氶柟缁樺坊閸嬫挸顫㈠畝鈧禍杈ㄧ節閻㈤潧浠﹂柛銊у枛楠炲﹪鎮欓崫鍕€炲銈嗗坊閸嬫捇宕鐐村仭婵犲﹤鍟扮粻鍐差熆鐟欏嫭绀嬮柟绋匡攻缁旂喎鈹戦崱娆懶ㄩ梺杞扮劍閸旀瑥鐣烽妸鈺婃晩闁芥ê顦竟宥夋⒒閸屾艾鈧悂藝椤栫儐鏁勯柛娑氳ˉ閳ь剚妫冨畷姗€顢欓崲澹洤绠圭紒顔煎帨閸嬫捇鎳犻鍌涙櫒婵犵绱曢崑鎴﹀磹瑜忕划濠氬箣閿旇棄鈧埖鎱ㄥ鍡楀箻闁崇懓绉撮埞鎴︽偐閸欏顦╅梺绋款儍閸斿海妲愰幒鏂哄亾閿濆骸骞楃痪顓″煐閵囧嫰鏁傞懞銉у嚒濡炪値浜滈崯瀛樹繆閸洖骞㈡繛鍡楁禋濞奸攱绻濆▓鍨灍閼垦囨煕閺冣偓閸ㄥ潡鐛崘顔奸敜婵°倐鍋撻柣鎺戠仛閵囧嫰骞掗幋婵愪痪闂佹娊鏀辩敮鎺楁箒闂佹寧绻傞幊蹇涘疮閻愮儤鐓曢柣鏂挎惈娴犻亶鏌″畝鈧崰鏍х暦椤愶箑唯闁靛鍎辩粻锝夋⒒娴d警鏀版繛鍛礋閵嗗啯绻濋崒婊勬婵犻潧鍊绘灙闁告濞婇弻锝夊箛椤曞懏顥撶紓浣界堪閸ㄨ棄顫忕紒妯诲闁惧繒鎳撶粭锛勨偓鍏夊亾闁挎繂鎳忛崑銉р偓娈垮櫘閸嬪﹤鐣烽锕€唯闁靛鍠楅ˉ锟犳⒒娴h棄袚闁挎碍銇勯妷锝呯伇闁靛洦鍔欓獮鎺楀箻鐎涙ḿ褰搁梻鍌欑閹测剝绗熷Δ鍛獥婵°倕鎳庣壕鍧楁煙閻愵剙澧繛鎾愁煼閺屾洟宕煎┑鍥ф畻濡炪倕瀛╅〃濠囧蓟閿濆鏁囬柣鎰ゴ閸嬫捇宕归鍛闁荤姴娲︾粊鏉懳i崼銉︾厪闊洦娲栭~宥夋煃閸濆嫭鍣洪柣鎾崇箰椤法鎷犻垾宕囦哗闂佸摜鍠嶉崡鍐茬暦閵忥紕顩烽悗锝庡亞閸樹粙鏌熼崗鑲╂殬闁糕晛瀚板畷顖濈疀濞戞瑧鍘遍梺缁樏壕顓熸櫠閻㈠憡鐓冮柕澶樺灣閻g敻鏌$仦璇插闁逞屽墾缁叉椽寮插┑鍫笉婵ǹ鍩栭埛鎴犳喐閻楀牆绗氶柨娑氬枔缁辨帡鍩€椤掍胶鐟归柍褜鍓熼獮鍐灳閺傘儲顫嶉梺闈涢獜缁辨洟宕㈤柆宥嗙厽闊洦娲栨禒婊冾熆瑜岀划娆撳箖閿熺媭鏁嶆繝濠傛噽閿涙粓姊洪棃娴ㄥ綊宕愬Δ鍛剹婵炲棙鍔栭崣蹇撯攽閻樻彃顏悽顖涚洴閺岀喎鐣¢悧鍫濇畻閻庤娲忛崝鎴澪涢崘銊㈡婵ɑ鐦烽妸鈺傚€垫繛鍫濈仢閺嬨倝鏌℃担鍓茬吋闁靛棔绀佽灃闁告侗鍘鹃敍婊冣攽閻樿宸ラ柟铏姍瀹曘垽顢涢悙绮规嫽婵炶揪绲肩拃锕傚绩娴煎瓨鐓欐繛鑼额唺缁ㄤ粙鏌嶈閸撶喎岣胯閹矂宕掑鐓庢濡炪倖鍔х粻鎴犲婵傚憡鐓熼柟閭﹀墻閸ょ喖鏌涘▎蹇旑棦婵﹨娅g槐鎺懳熼懡銈庢К闂備胶枪閿曘倕锕㈤柆宥呯劦妞ゆ帊鑳堕崯鏌ユ煙閸戙倖瀚�
首页 > 硬件设计 > 嵌入式设计 > U-Boot的编译与移植到QT-S3C44B0X开发板上

U-Boot的编译与移植到QT-S3C44B0X开发板上

时间:03-08 来源:嵌入式资讯网 点击:
s3c44b0x主板启动用到的代码分析
一 首先从cpu/s3c44b0/start.S这个文件开始执行,这个文件主要作以下几点:
1 设置处理器的工作模式。
2 初始化中断向量。
3 关闭看门狗功能。
4 允许timer5的中断(时钟中断)。
5 允许IRQ中断,进制FIQ中断。
6 设置时钟控制寄存器控制CPU的主频。根据我自己的开发板进行了设置。(下面介绍了时钟主频的计算公式)。
7 调用board/<your.board>/lowlevel.S对存储器进行初始化。这个文件主要是根据开发板设置每个存储器的BANK。我修改了这个文件使其支持我的开发板。
8 将ROM中的U-BOOT代码拷贝到RAM中。并在RAM中设置好中断向量表。
9 设置堆栈。
10 跳到lib_arm/board.c中执行start_armboot.
二 执行lib_arm/board.c中的start_armboot,主要完成一下工作:
1 调用cpu/<your.board>/cpu.c中的cpu_init()来刷新所有cache,将0x00000000~0x0c000000区设为非cache区。并使用全部8K空间作为cache。总线优先级为默认优先级。
2 调用board/<your.board>/<your.board>.c中的board_init()根据具体的开发板对PORT进行设置。我修改这个文件使其支持我的开发板。
3 调用cpu/s3c44b0/interrupts.c 中的interrupt_init()初始化Timer1定时器使其在指定时间产生中断。
4 根据include/configs/<your.board>.h配置文件中(CFG_ENV_IS_IN_<*>)环境变量保存位置选项来调用common/env_*.c对应文件中的env_init()。其作用是初始化环境变量。由于我的配置文件中的选项是CFG_ENV_IS_IN_FLASH,所以我修改board/<your.board>/flash.c使它支持我板子的FLASH。
5 调用本文件中的init_baudrate()来设置串口的波特率,这个函数的功能是可以使用环境变量对串口波特率进行修改。
6 调用cpu/s3c44b0/serial.c文件中的serial_init()对串口进行初始化。我修改这个文件使它支持我的开发板时钟频率对应的串口波特率。(下面介绍了串口波特率的计算公式)。
7 调用common/console.c文件中的console_init_f()对控制台进行初始化。
8 调用本文件中的display_banner()显示标题信息。
9 调用board/<your.board>/<your.board>.c文件中的dram_init()对SDRAM进行初始化,其主要作用是在全局变量gd中设置SDRAM的起始地址与大小。
10 调用本文件中的display_dram_config()显示一些配置信息。
11 调用flash_init()来初始化FLASH。如果CFG_FLASH_CFI_DRIVER在配置文件中被定义,则调用drivers/cfi_flash.c中flash_init()驱动。否则将调用自己的FALSH驱动。


移植U-BOOT过程
一 为我的QT板子建立一个模板
1 cp –r board/dave board/51EDA
2 mv board/51EDA/B2 board/51EDA/QT
3 mv board/51EDA/QT/B2.c board/51EDA/QT/QT.c
4 cp include/configs/B2.h include/configs/QT.h
5 将board/51EDA/所有文件中的B2改为QT,将include/configs/QT.h中的B2改为QT。
6 修改Makefile和MAKEALL文件,为QT添加新的选项。
7 然后开始编译,能够正确通过,说明上面为我的QT板子建立的模板正确,下面开始修改模板中的文件使其支持自己的QT板子。
8 修改cpu/s3c44b0/start.S文件,根据自己的开发板提供的石英振荡频率(Fin)来设置自己想要的时钟主频。
9 修改board/51EDA/QT/lowlevel_init.S文件,根据自己的开发板对存储器(Bank)进行初始化。
10 修改board/51EDA/QT/QT.c文件,根据自己的开发板对PORT进行初始化。
11 修改board/51EDA/QT/flash.c文件,使它支持自己的开发板。
12 修改cpu/s3c44b0/serial.c文件,使它支持自己想要的波特率。
13 修改include/configs/QT.h文件,设置里面的选项使其满足自己的要求。


遇到的问题:
1. 在对应自己的开发板修改了board目录下的lowlevel_init.S,QT.c文件后串口终于出东西了。但是总是出现乱码,无论设置成什么样的时波特率,都是乱码,于是认为是自己的CPU主频的串口的波特率计算错误,查看相关资料修改了cpu目录下的start.S和serial.c文件中的系统时钟和串口波特率部分后,串口终于读到正确的数据了。(下面是有关cpu时钟频率和串口波特率的计算公式)。
S3C44B0的系统时钟设置公式
一. 通过PLL输出时钟脉冲频率的计算:
a) Fpllo = (m * Fin) / (p * 2s)
b) m = (Mdiv + 8), p = (Pdiv + 2), s = Sdiv
c) 20MHz < Fpllo < 66MHz
d) Fpllo * 2s < 170MHz (s应该尽可能的大)
e) 1MHz <= Fin/p < 2MHz (最好是Fin/p = 1MHz)
f) 如果PLL打开则:Fpllo = Fout
g) 这样计算出Mdiv, Pdiv, Sdiv的值写入PLLCON寄存器中就可设置Fpllo的输出频率。
二. PLL的锁存时间(为输出稳定时钟频率需要的平静时间)
a) T_lock = (1 / Fin) * n > 280us. (n = LTIMECNT value)
S3C44B0的UART波特率计算公式
UBRdivn = ( (int)(MCLK / (bps * 16) + 0.5) – 1 )
MCLK = Fout = Fpllo
Bps = 1200,9600,19200,38400,57600,115200

2. 在使用printenv与bdinfo命令读取flash中的环境变量总是出错,并且每次读出的数据都不一样,在通过调试器进行观察后发现原来是DECLARE_GLOBAL_DATA_PTR的使用问题,这是当前我使用的这个版本(u-boot-1.1.4)的一个bug,于是换了一个更新的版本(u-boot-2006-05-10-1800),这个版本已经将这个bug去处掉了。终于读出了正确的环境变量。
3. 每当我使用出现错误死机重启后都无法正常启动,只有关掉电源10-30分钟后在启动就会正常,通过调试器对程序的观察发现,在start.S文件中将程序从flash复制到RAM中时,它只复制到了bss段的开始,而并没有对bss段进行复制(bss初始化为0的静态变量区),这样到的当我运行的程序出现错误对bss段进行了写入后,而内存在断电后数据并没有马上消失,这样就导致在重启后读取值为0的静态变量时出现了错误的数据。于是我修改了程序,让它将bss段也复制到内存,这样当重启后总是会对内存的bss段进行初始化。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top