📄 chip_user.txt
字号:
===================================================================== AT91SAM7S巴赂婶 Last Modified: 13 May 2008 12:43:03=====================================================================←车妥AT91SAM7S巴赂婶では·Atmel澜の AT91SAM7S128/256 と AT91SAM7A3 をサポ〖トするˉ塑カ〖ネルではチップ柒垄の件收搀烯のタイマやUARTを蝗脱するˉ悸乖は·フラッシュメモリに今き哈み悸乖することを答塑とするˉRAM惧での悸乖は附觉サポ〖トしないˉ←倡券茨董ソフトウェア倡券茨董は·GNU茨董を脱いるˉ瓢侯澄千を乖ったˉコンパイラは·GCC 4.1.1 で·Cygwin脱のバイナリを笆布のサイトからダウンロ〖ドして脱いたˉ http://www.gnuarm.com/デバッグ倡券茨董は·ハ〖ドウェアにOLIMEX澜 ARM-USB-OCD·PizzaFactory3答茸·BestTechnology澜のTINY JTAG-ICE/ を脱い·OpenOCD を沸统して GDBによりデバッグするˉなお·帽に悸乖するだけなら·Atmel澜のフラッシュ今き哈みツ〖ルにより今き哈み材墙であるˉ←充り哈みハンドラ戎规と充哈み戎规充哈みハンドラ戎规(inhno)と充哈み戎规(intno)には·Peripheral ID を脱いるˉAT91SAM7S512/256/128/64/321 では肌のように年盗されているˉ 帴FIQ(AIC) 0 帴SYSIRQ 1 帴PIOA 2 帴ADC 4 帴SPI 5 帴US0 6 帴US1 7 帴SSC 8 帴TWI 9 帴PWM 10 帴UDP 11 帴TC0 12 帴TC1 13 帴TC2 14 帴IRQ0 30 帴IRQ1 31←充哈み庭黎刨充哈み庭黎刨としては·-1 から -8 までの猛を肋年材墙であるˉ←充哈み掳拉IRQ充哈みに簇しては·TA_POSEDGE/TA_LOWLEVELE/TA_HIGHLEVELの掳拉を肋年材墙であるˉ←タ〖ゲット巴赂婶での年盗祸灌タ〖ゲット巴赂婶では·蝗脱するLSIにより·Makefile で·Makefile.chip をインクル〖ドする涟に肌の年盗を淡揭しておく涩妥があるˉAT91SAM7S128の眷圭 AT91SAM7S_TYPE = at91sam7s128 AT91SAM7S256の眷圭 AT91SAM7S_TYPE = at91sam7s256AT91SAM7A3の眷圭 AT91SAM7S_TYPE = at91sam7s256 gccの-Dオプションで__AT91SAM7A3__を年盗するˉ←タイムドライバカ〖ネルでは·タイムティック脱にTimer/Counter Channel 0 を脱いるˉタイムティック件袋は1msecであり·恃构するためには·chip_kernel.h の TIC_NUME と TIC_DENO を恃构することˉ←シリアルインタフェ〖スドライバシリアルインタフェ〖スドライバでは·Debug Unit を脱いてシリアル叫蜗を乖うˉ奶慨パラメ〖タは肌の奶りであるˉ 38400bps, 8bit, Non-Parity, 1 Stop bitボ〖レ〖トは·at91sam7s.h 柒の BAUDRATE の年盗で恃构材墙であるˉ←倡券茨董のインスト〖ル数恕↑OpenOCDのインスト〖ルと悸乖Best Technology のホ〖ムペ〖ジからバイナリをダウンロ〖ドして鸥倡するˉ肌のオプションで opencd.exe を悸乖する $./openocd.exe -f sam7s_c_ram.cfg↑フラッシュメモリへの今き哈み笆布のコマンドでASPカ〖ネルをビルドして·バイナリファイルを栏喇するˉ make asp.binBest Technology のホ〖ムペ〖ジから GCC Developer Lite をダウンロ〖ドしてインスト〖ルするˉOpenOCDに崔まれる./GDL/at91sam7s_w.script を GCC Developer Lite のインスト〖ルディレクトリにコピ〖し·23乖誊の "flash info 0" を猴近ˉスタ〖トアップメニュ〖から"フラッシュライタ"を悸乖するˉウィンドウの布の数をダブルクリックすると CPU TYPE を联买できるので·openOCDを联买するˉ今き哈みたいファイルを联买し·"かきこみ"ボタンを病すˉ ↑GDBによるデバッグBest Technology のホ〖ムペ〖ジからダウンロ〖ドした·OpenOCDに崔まれる ./GDL/gdb_rom.ini を蝗脱するˉGDBの瓢侯澄千したバ〖ジョンは(6.6)←恃构旺悟2008/05/13 鼎奶婶 Release 1.3.1 に滦する恃构===================================================================== TOPPERS筛洁充哈み借妄モデル滦炳のための攫鼠=====================================================================←充哈みコントロ〖ラの慌屯AT91SAM7Sの充哈みコントロ〖ラ∈AIC∷の慌屯は肌のようになっているˉˇ32改の充哈みをサポ〖トˇ改侍の敦贿钓材が材墙 Interrupt Enable Command Register∈IECR∷·Interrupt Disable Command Register∈IDCR∷の称ビットにより敦贿/钓材するˉˇ8レベルの充哈み庭黎刨をサポ〖ト 0が呵你庭黎刨7が呵光庭黎刨ˇ充哈みを减け烧けると减け烧けた充哈み庭黎刨がAIC柒にセットされ·その 充哈み庭黎刨笆布の充哈みは减け烧けなくなるˉただし·AICが瘦积する充 哈み庭黎刨は·ソフトウェア娄は肋年できないˉˇ柒婶充哈みはレベルにもエッジにも肋年材墙ˇ称充哈みのSource Mode Register∈SMR∷に·Vector∈アドレス∷を肋年する ことができ·充哈みを减け烧けると·减け烧けた充哈みの Vector がInterrupt Vector Register∈IVR∷に肋年されるˉˇプロセッサでIVRを粕み哈むと·AICは充哈みハンドラが倡幌されたとみなすˉˇプロセッサで End of Interrupt Command Register∈EOICR∷を今き哈むと· 充哈みハンドラが姜位したとみなす←充哈み妥滇敦贿フラグ充哈み妥滇敦贿フラグは·AICの积つ·充り哈みの改侍の敦贿/钓材怠墙を脱いて悸附するˉ←充哈み庭黎刨第び充哈み庭黎刨マスク∈IPM∷充哈み减烧箕の拇匿と·充哈み减烧稿のそれ笆布の庭黎刨を减け烧けないようにする·AIC柒婶の充哈み庭黎刨マスクはAICの怠墙で悸附材墙であるˉただし·AIC柒婶の充哈み庭黎刨マスクはソフトウェア弄にアクセス稍材墙であるため·AIC柒婶の充哈み庭黎刨マスクを∈モデル惧の∷充哈み庭黎刨マスクとして蝗脱することは稍材墙であるˉそのため·庭黎刨髓に·その庭黎刨笆布の充哈みを敦贿するビットパタ〖ンをコンフィギュレ〖タで脱罢し·ソフトウェア弄に充哈み庭黎刨マスクを恃构する眷圭は·この猛を蝗い充哈みを敦贿することで·∈モデル惧の∷充哈み庭黎刨マスクを悸附するˉただし·充哈み减烧稿は·AICが极瓢弄に减け烧けた充哈みの充哈み庭黎刨をAIC柒婶にセットするため·カ〖ネルの充哈みの掐り庚では·ビットパタ〖ンによる充哈みの敦贿は乖わないˉ←IVRの蝗脱数恕SMRに充哈みハンドラのアドレスをセットし·充哈み减烧箕は·充哈みエントリの鼎铜ル〖チンで·IVRを粕み哈んで粕み哈んだアドレスにジャンプするのが塑丸の蝗い数であるˉしかしながら·塑カ〖ネルでは·鼎铜の充哈みのエントリで充哈み妥傍を冉们して·∈モデル惧の∷充哈み庭黎刨マスクをセットする涩妥があるˉそのため·IVRにはハンドラのアドレスではなく·充哈み戎规をセットして蝗脱するˉ←コンフィギュレ〖タによる栏喇デ〖タコンフィギュレ〖タでは·笆布のデ〖タを栏喇するˉ充哈み庭黎刨テ〖ブルˉ称充哈みの庭黎刨を瘦积するˉ猛は柒婶山附で·嘲婶山附の冷滦猛ˉ const uint8_t _kernel_inh_ipm_tbl[TNUM_INH];充哈みマスクテ〖ブルˉ称充哈み庭黎刨で敦贿する充り哈みのビットパタ〖ンを瘦积するˉ const uint32_t _kernel_ipm_mask_tbl[(TMAX_INTPRI - TMIN_INTPRI + 1)];充哈みハンドラテ〖ブルˉ充哈みハンドラのアドレスを瘦积するˉ const FP _kernel_inh_tbl[TNUM_INH];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -