Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7122969B2 - マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 - Google Patents
[go: Go Back, main page]

JP7122969B2 - マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 - Google Patents

マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 Download PDF

Info

Publication number
JP7122969B2
JP7122969B2 JP2018545302A JP2018545302A JP7122969B2 JP 7122969 B2 JP7122969 B2 JP 7122969B2 JP 2018545302 A JP2018545302 A JP 2018545302A JP 2018545302 A JP2018545302 A JP 2018545302A JP 7122969 B2 JP7122969 B2 JP 7122969B2
Authority
JP
Japan
Prior art keywords
cpu
dmac
data
flash memory
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018545302A
Other languages
English (en)
Other versions
JP2019512135A (ja
Inventor
スパーリング,デール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics America Inc
Original Assignee
Renesas Electronics America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics America Inc filed Critical Renesas Electronics America Inc
Publication of JP2019512135A publication Critical patent/JP2019512135A/ja
Application granted granted Critical
Publication of JP7122969B2 publication Critical patent/JP7122969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Description

本出願は、本明細書に完全かつ十分に説明されているかのように、全体としておよび全ての目的のために参照によって組込まれる、2016年2月29日に出願された「パイプと信号」と題する米国仮特許出願第62/300953号の国内利益を、米国特許法第119(e)の定めにより、請求する。
マイクロコントローラ(MCU)は、集積回路上に形成された小さなコンピュータである。MCUは、事務機器、家庭用機器、自動車エンジン制御システム、移植可能な医療装置、電動工具、玩具などのような広範囲の装置の埋め込み制御を提供(規定)する。
MCUはアーキテクチャの点で異なる。しかしながら、ほぼ全てのMCUは、中央処理装置(CPU)、フラッシュメモリ、ランダム・アクセス・メモリ(RAM)、専用機能を提供する1つ以上の周辺装置、および、1つ以上の汎用入/出力(GPI/O)ポートを収容(含有)している。
CPUは、フラッシュメモリ内に格納された埋め込みプログラムの命令に従ってRAM内に保持されたデータを処理できる。しかしながら、CPUがデータを処理する前には、そのデータは、RAM内へ移動されなければならない。RAMにデータを移動する方法が幾つかある。1つの方法は、プログラム制御方式(プログラムI/O)と呼ばれる。この方法では、CPUは、ロードまたはストア動作の実行により、ソース(たとえば、UARTすなわち万能非同期送/受信機のような周辺装置)からRAMへデータを転送できる。CPUは、ソース用のステータスレジスタをポーリングすることによってまたはそのソースからの「レディ」割込みを扱うことによって翻訳され得る各バイトまたは各ワードを転送する前に、そのソースからのレディ信号を待つ必要があるかもしれない。残念ながら、CPUは、データの転送中では、他の動作を実行できない。
直接メモリアクセス(DMA)は、データを転送する代替方法である。この処理は、DMAコントローラ(DMAC)として知られる装置によって管理される。DMAでは、データは、CPUが各バイト(またはワード)を扱わずに、直接転送される。要するに、DMAのデータ転送は、CPUから独立している。DMA転送は、ソース(たとえば周辺装置)からデスティネーション(たとえば(RAM))へ大量データを非常に素早く移動できる。DMAのデータ転送におけるもっと明白な利益は、DMACがデータ転送している間にCPUが何か他のことを行うことができることである。しかしながら、DMA転送をセットアップするにはあるCPUの使用を必要としているが、その後にCPUを必要とせずにデータが転送される。
言及したように、DMA転送が生じ得る前には、CPUはDMACのプログラムを作らならなければならない。要するに、CPUは、DMACに、何のデータを転送すべきか、そのデータをどこに転送すべきか、および、そのデータをどのように転送すべきかを伝えなければならない。CPUは、適切な制御値をそれぞれの制御レジスタに書き込むことによってDMACのプログラムを作る。制御値は転送を規定する。たとえば、制御値は、転送すべきデータのソース(たとえばUART)、そのデータのデスティネーション(目的地)、転送すべきデータ量、そのデータの幅、データ転送すべきモード(たとえば、バーストモード、需要モード、透過モード、アドレス・インクリメント・モード、単一周期モード、書き込み転送など)などを識別する。
ランタイム(実行時間)の間、DMACは、異なるDMAデータ転送を実施するために、異なる制御値を使ってCPUにより繰り返し再プログラミングされ得る。CPUは、DMACのプログラムを作るときに、異なるコードを実行する。たとえば、UARTからRAMへデータを転送するためにDMACのプログラムを作るのに必要とされるコードは、RAMからユニバーサル・シリアル・バス(USB)インタフェースへデータを転送するためにDMACのプログラムを作るのに必要とされるコードと異なっている。
DMACのプログラムもしくは再プログラムを作るのに、または、DMA転送に必要とされるMCUの他のコンポーネント(構成)のプログラムもしくは再プログラムを作るのに必要とするコードを書き込むとき、開発者は頻繁に間違える。たとえば、開発者は、UARTからRAM内の特定のバッファへDMA転送データをセットアップするコードを書き込もうと思うかもしれないが、開発者は、USBインタフェースからのデータを転送するコードを偶然書き込むかもしれない。加えて、開発者は、制御値がレジスタに書き込まれている順序(シーケンス)において頻繁に間違える。この種のコードエラーがなされたとき、そのようなエラーをデバッグすることは非常に難しい。それは、転送の一端が通常、容易に検査できないRAM内の周辺装置またはバッファであるからである。
フラッシュメモリ、中央処理装置(CPU)、および直接メモリアクセス・コントローラ(DMAC)を有するマイクロコントローラ(MCU)をプログラミングする方法およびシステムである。一実施の形態では、プログラミングする方法は、フラッシュメモリ内に格納された関数を呼び出すことを含み、関数が呼び出されたとき第1パラメータが関数に渡され、第1パラメータは、フラッシュメモリ内に格納された第1データ構造体を識別し、第1データ構造体は、第1DMAC制御値を含む。CPUは、関数のCPU実行命令に応じて第1DMAC制御値を読み出す。それから、CPUは、関数のCPU実行命令に応じてDMACのそれぞれの制御レジスタに第1DMAC制御値を書き込む。ひとたび第1DMAC制御値がそれぞれの制御レジスタに書き込まれると、MCUはDMA転送を実施するようにプログラミングされる。
本発明は、添付図面の参照により当業者にとって明らかにされた多くの目的、特徴、および利点において更に良く理解されるかもしれない。
ブロック図の形式で示されるとともに本開示の一実施の形態を利用するMCUの例を図示する。 図1のMCUにおいて利用されたイベント・リンク・コントローラを図示するブロック図である。 図1のMCUによって実施されるDMA転送の例のうち関連態様を図示するブロック図である。 図1で示されたMCUのフラッシュメモリのプログラムを作る(プログラミングする)際に使用されるツールのうち様々な態様を図示するブロック図である。 本開示の一実施の形態に従って図1のMCUのフラッシュメモリに格納された活性化機能(機能)AFの例とデータ転送構造体(DTS)のアレイとを図示するブロック図である。 本開示の一実施の形態に従って図1のMCUにより実施される方法の関連態様を図示するフローチャートである。
異なる図面における同一参照符号の使用は、類似または同一の事項を指し示す。
データ転送を実施する実行時間でMCUの1つ以上のコンポーネントをプログラミングする装置および方法が記述される。一般に、1つ以上のコンポーネントをプログラミングする方法には、適切な制御値をそれぞれの制御レジスタに書き込んだCPUが含まれている。ひとたびコンポーネントがプログラミングされると、データ転送が始まり得る。一実施の形態では、1つ以上のコンポーネントは、Cプログラミングコードで書かれた関数(以下、活性化関数AFとして言及)と、呼ばれたときにそのタグまたはアイデンティティがAFへ関数の引数として渡される構造体(以下、データ転送構造体DTS)とを使って実行時間でプログラミングされる。データ転送構造体DTSは、あるアレイ内の幾つかのDTSのうに1つであってもよく、それぞれのDTSには、一実施の形態において、たとえばDMACの制御レジスタに書き込むべき制御値が含まれる。MCUの1つ以上のコンポーネントが異なるデータ転送を実施するために再プログラミングを必要とする場合には、1つ以上のコンポーネントは、活性化関数AFを再び呼び出して異なるDTSタグまたはアイデンティティを渡すことによって、再プログラミングされる。前述に加えて、この開示はまた、DTSと埋め込みプログラムの他の態様とを生成するために開発者によって使用され得るツールと方法とを記述している。本発明は、MCUを参照して記述されるが、それに限定されるべきではない。
図1は、前述の活性化関数AFが使用され得るMCU100の例の関連コンポーネントを図示するブロック図である。用語MCUは、図1で示されたものに限定されるべきではない。MCU100は、CPU102とメモリコンポーネントとを含み、当該メモリコンポーネントにはフラッシュメモリ104、ランダム・アクセス・メモリ(RAM)106、レジスタ(不図示)を備える。また、MCU100は、周辺装置108~120と、様々なコンポーネント(たとえば、RAM106とUART114)が相互に連通する通信システム122とを含む。以下でもっと十分に記述されるように、通信システム122はプログラム可能なDMACを備える。汎用入/出力(I/O)ポートのようなMCU100の付加的なコンポーネントが予想されるが、図示されていない。
フラッシュメモリ104は、主関数と、活性化関数AFと、1つ以上のDTSを含んだアレイ(配列)とを備える埋め込みプログラムを格納する。さらに、埋め込みプログラムは、関数ライブラリ、ハードウェア抽象化層(HAL)ドライバ、通信スタック、リアルタイム・オペレーティング・システム(RTOS)などを備えるかもしれない。従来、埋め込みプログラムはアセンブリ言語で書かれていたが、C言語のような様々なハイレベルな言語が現在ではMCU用のコードを書くために使用される。本開示は、C言語で書かれた埋め込みプログラムを参照して記述されており、本発明がそれに限定されるべきではないことが理解される。
あるMCU製造者は、埋め込みプログラム開発を支援するために一組のツールである統合開発環境(IDE)を提供する。IDEには、エディター、コンパイラ、およびリンカーのようなツールが典型的に含まれる。コンパイラは、C言語で書かれたソースコードをオブジェクトコードへ変換するコンピュータプログラム(または一組のプログラム)である。リンカーは、オブジェクトコードの1つ以上のファイルを取り込んでそれらを単一の実行可能なファイルに結合編集するコンピュータプログラムである。本開示が検討するIDEは、本開示に従って1つ以上のデータ転送を実施するためのMCUのコンポーネントのプログラムを作るのに必要とされるC言語構造(たとえばDTS)、コンスタント(定数)、デクラレーション(宣誓)などを含む1つ以上のソースコードファイルを生成するため開発者が使用できるグラフィカル・プログラミング・ツール(以下、パイプ信号ツールすなわちPSTとして言及)もまた含む。以下でさらに十分に説明されるように、パイプ信号ツールPSTは、開発者によって作成されたデータ転送のグラフィカル表現に基づいてソースコードファイルを生成できる。PSTによって作成された1つ以上のソースコードファイルは、他のソースコードファイルにコンパイルおよびリンクでき、当該他のソースコードファイルは、埋め込みプログラムを作成するために、AFを含むファイルを備える。
RAMメモリ106は、埋め込みプログラムによって規定および使用されるデータ変数、1つ以上のデータバッファのアレイ、などを格納するために主に使用される。以下でさらに十分に説明されるように、変数およびアレイは、パイプ信号ツールPSTを使う開発者によって指定(規定)され得る。また、MCUは、CPU102、周辺装置108~120、および通信システム122内に設置された特別な、急速アクセス可能な、専用メモリ回路であるレジスタ(図示せず)を含む。レジスタは、埋め込みプログラムの実行にとって極めて重要な計算結果、状態、制御値、および他の情報を格納するために使用される。以下でさらに十分に説明されるように、幾つかの制御レジスタは、本開示に従ってDMA転送のようなデータ転送を実施するためにプログラミングされ得る。本発明は、DMAデータ転送を実施するためにプログラミング・コンポーネントを参照して説明されており、本発明がプログラムI/Oを含めて他の種類のデータ転送に幅広く応用され得ることは理解される。
CPU102は、埋め込みプログラムの命令を実行する。不図示であるけれども、CPU102は、算術および論理演算を実行する算術論理装置(ALU)と、オペランドをALUに供給するとともにALU演算の結果を格納するレジスタと、(フラッシュメモリからの)取り出しとAFの命令を含めた命令の実行とを制御する制御装置と、を備える。本発明は、1つのCPU102を含むMCUを参照して記述されており、本発明がそれに限定されるべきでないことは理解される。
継続して図1を参照して、周辺装置108~120は、様々な専用関数を実施するハードウェアコンポーネントであり、様々なセッティングにおいてより容易な配置を可能にする。特別なMCUにおける特定の周辺装置の有用性は、装置の製造/モデルに完全に依存する。MCU100の周辺装置は、動作態様を制御する値を書き込むことによりプログラミングされ得る。制御値は、MCUのアドレス・マップ内の特別なアドレス場所にCPU102によって書き込まれる。同様に、MCU100の周辺装置は、特別なアドレス場所からのデータの書き込みまたは読み出しによって使用される。CPU102は、フラッシュメモリ104内の埋め込みプログラムの命令に従って周辺装置に制御値を書き込む。
図1の周辺装置の例には、汎用タイマー108、アナログ/デジタル変換器(ADC)110、事象論理コントローラ(ELC)112、UART114、割込み制御装置(ICU)116、ISインタフェース118、および、ユニバーサル・シリアル・バス(USB)モデル120が含まれる。
図2Aは、ELC制御レジスタ130とELC制御回路132とを備えたELC112の例の関連コンポーネントを示している。ELC制御回路132は、USBモジュール120、ADC110などのようなコンポーネントからイベント信号E1-ENを受信する。ELC回路132は、プログラマブル・スイッチ・マトリクスのように動作できる。要するに、受信されたイベント信号E1-ENの何れかを、あるコンポーネントへの次の送信のための出力の何れかに切り替えるために、ELC回路112はCPU102によってプログラミングされ得る。たとえば、ELC回路112は、DMA転送をトリガーするために周辺装置からDMACへイベント(事象)信号を送信するようにプログラミングされ、または、ELC112は、ISRをトリガーするためにDMACからICU116へイベント信号を送信するようにプログラミングされ得る。切り替えは、CPU102によって制御レジスタ130へ書き込まれた制御値に基づいている。重要なことは、ELC112は、CPU102によって実行されるAF命令に従ってプログラミングされ得ることである。
言及したように、MCU100はICU116を備える。一般に、ICUは、ISRの有利になる命令の順次的なCPU実行を妨げるように動作する。ICU116は、DMACからの割込み信号を含めた、内部的に発生した割込み信号を、ELC112を介して直接的か間接的かのいずれかで受信する。一実施の形態では、ICU116は、DMACからICU116によって受信された割込み信号に対応するISRのメモリアドレスを使ってCPU102を規定できる。CPU102は、ICU116によって規定されたアドレスで始まるフラッシュメモリ104内に格納されたISRを実施する。CPU102は、特別なイベント信号がアサートされたときに、ISRをトリガーするようにICU116のプログラムを作ることができる。たとえば、ICU116は、RAM106に書き込まれたデータブロックを指し示すDMACからの信号を探すためにAFによってプログラミングされ得る。そして、DMACが信号をアサートしたときに、ICU116は、RAM106に書き込まれたデータブロックを順番に処理するISRを開始する。一実施の形態では、ISRは、以下でさらに十分に記述されるように、パイプ信号ツールPSTによってある程度生成され得る。
MCU102は、メモリコンポーネント、CPU102、周辺装置108~120などの間でデータ、制御値、命令、アドレス、制御信号などを送信できる1つ以上のバスを順次含む通信システム122を備える。図示された実施の形態では、通信システム122は、制御値を含めた命令およびデータを送信するための分離バスを備え、それによりデータおよび命令アクセスを同時に起こさせるのを許容している。また、通信システム122は、データのDMA転送を制御するためにプログラム可能DMACを備える。図2Bは、アドレスバス204、データバス206、および制御ライン208を介してCPU102、RAM106とのデータ通信をする通信システム122のDMAC202の例を図示している。
DMAC202は、DMAデータ転送を実施するためにプログラミングされる。図示された例では、(UART114からのデータ有用性信号のような)イベントは、DMAC202に、データが転送準備されていることを知らせる。それから、DMAC202は、CPU102にDMAリクエスト信号をアサートし、データバス206を使用する許可を求める。CPU102は、電流バス活性化を完了し、バス206を駆動するのを止め、DMA確認信号をDMAC202に戻す。それに応じて、DMAC202は、UART114から1バイトデータを読み出し、RAM106にそのデータを書き込み、まるでCPUであるかのようにアドレスバス204、データバス206、制御信号ライン208を駆動する。一般に、それぞれのDMA周期は、転送バスアドレスに依存してメモリの書き込みに続く周辺装置の読み出しか周辺装置の書き込みに続くメモリの読み出しかのいずれかで、少なくとも2つのバス周期を典型的にもたらす。注意すべきことは、DMAC202が周辺装置間でデータを転送することもできることである。
DMAC202は、転送するデータ上では処理を行わない。それは、その制御レジスタ内でプログラミングされた制御値によって命令されるようなバイトを単に転送する。転送が完了されたとき、DMAC202はバスを駆動するのを止め、DMAリクエスト信号をデアサートする。それから、CPU102は、そのDMA確認信号を取り出し、バス204、206の制御を再開する。CPU102は、ISRに従って転送されたデータを処理できるようにDMA転送が完了したときに、ICU116を介してISR用のアドレスもまた受け取ることができる。
上述したように、DMA転送が開始可能である前に、CPU102は、DMAC202のプログラムおよび/またはELC112またはICU116などのような他のコンポーネントのプログラムを作らなければならない。プログラミングプロセスは、非常に複雑であり、DMACのそれぞれの制御レジスタへの適切な制御値、ICU116のベクトルテーブルへのベクトルアドレスなどをCPU102が書き込むことを伴う。DMAC202内でプログラミングされた制御値の例には、ひとたび転送が完了されるとDMAコントローラがCPU割込み信号を生成すべきであろうとなかろうと、データが読み出されるべきソース(たとえばUART114内のデータ受信レジスタ)のベースアドレスと、そのデータが書き込まれるべきデスティネーション(たとえばRAM106内のバッファ)のベースアドレスと、転送されるべきデータバイト(ワード)の数と、転送されるべき各データバイト(ワード)の幅とが含まれる。DMAC202内でプログラミングされた制御値に依存して、DMACが、各バイト(ワード)転送の後に、ソースおよびデスティネーションアドレスのうち一方または両方を自動的に増やすことは可能である。周辺装置間またはメモリと周辺装置との間でのデータ転送は、周辺装置のソースまたはデスティネーションアドレスがそれぞれの転送後に移動されないことを度々必要とする。異なる制御値は、ソースまたはデスティネーションアドレスが移動されないデータ転送のために必要とされる。
DMACは、典型的には、データ転送するためにバスを共用するDMAチャンネルを幾つか有するが、共用しなければ独立したDMAチャンネルを幾つか有する。DMAチャンネルのそれぞれは、メモリマップされたプログラム可能な制御レジスタの独自セットを含む。CPUは、1つのDMAチャンネルを別のものに優先するプライオリティ値を持つそれぞれのDMAチャンネルをプログムミングできる。それぞれのDMAチャンネルは、周辺装置、CPUなどからイベントまたは制御値によってそのデータ転送がトリガーされるようにプログラミングされ得る。DMAチャンネルがどのようにプログラミングされるのかに依存して、特別のDMAチャンネル内でのデータ移動は、ハードウェアトリガーかソフトウェアトリガーかのいずれかによって開始され得る。たとえば、UART114用のステータスビットは切り替わり、それにより新たなデータがRAM106内でバッファへのDMA転送の準備をすることを示しもよいし、または、IS118用のステータスビットが切り替わってMCU102の外部のデバイスへの次の転送用に新たなデータを必要としていることを示してもよい。DMAチャンネルは、プログラミングされトリガーを受信したとき、必要とされるソースが有効になる(たとえばバスおよびメモリ位置)とすぐにデータを移動し始める。ELC112は、適切なイベント信号をそれぞれのDMAチャンネルに転送するためにプログラミングされてもよい。
DMAC202は、異なるDMA転送を実施するために、プログラミングかつ再プログラミングされ得る。たとえば、DMAC202のうちの1つのDMAチャンネルは、USBブロック120からRAM106内のバッファへデータ転送を実施するために、プログラミングされ得る。その後になって、同じDMAチャンネルは、RAM106内の別のブロックからIS118へデータ転送を実施するために再プログラミングされ得る。または、2つのDMAチャンネルは、データ転送を実施するために同時に再プログラミングされ得る。すなわち、1つは、USBブロック120からRAM106内のバッファへのデータ転送を実施するためであり、もう1つは、RAM106内の別のブロックからIS118へのデータ転送を実施するためである。
昔、DMAC202と他のコンポーネントは、分離コードセグメントを使ってプログラミングまたは再プログラミングされていた。しかしながら、コードセグメントを記述する(書き込む)ことは、複雑かつ時間を要する。それらがコードセグメントを上手く書き込みできる前に、埋め込みプログラム開発者は、益々複雑になったMCUの詳しい知識および理解を必要とする。典型的なMCUのユーザーマニュアルは現在、1000頁を超えることがある。DMAC202のようなコンポーネントは、新たな特徴および将来性において急成長しており、それらを所望な動作モードで完全に理解しかつ適切に構成することはさらに困難であった。残念ながら、DMACの全体にわたる複雑さのため、コードセグメントを書き込むときにエラー(誤差)をもたらしていた。もし開発者が複雑かつ非常に長いMCUのユーザーマニュアルによって特定目的に用いられるルール(規則)に従わないならば、それらの埋め込みプログラムは所望のDMAデータ転送を実施できないことが頻繁にある。
本開示は、これらおよび他の問題に取り組んでおり、CPU102によって実行されたときフラッシュメモリ104内のアレイにおける多くのDTSのうちいずれか1つに従ってデータ転送を実施するためにDMAC202を含めたコンポーネントのプログラムを作る活性化関数AFを提供(規定)する。一実施の形態では、CPU102は、前述のAFの呼び出しに応えて制御値、ベクトルアドレスなどを使ってコンポーネントのプログラムを作る。さらに、プログラミングプロセスには、DMACなどで割り込まれた(中断された)場合にCPU102が実施するISRのベクトルアドレスを含むように、ICU116のベクトルテーブルをアップデート(更新)することが含まれる。DMAC202、ELC112、ICU116などのプログラムを作るために必要とされる制御値および/または他のデータは、AFへの呼び出しにおいて渡されたタグの中で識別されるDTSによって決定される。AFは、MCU102の製造業者(メーカー)によってまたはDMAC202を含めたMCU102を完全に理解する他のものによって開発または提供され得る。AFは、MCU100の要件に適合するMCUコンポーネントのプログラムをある順序で作ることができる。AFとDTSのアレイとは、その開発中に他の埋め込みプログラムとコンパイルおよびリンクされ得る。
また、本開示は、DMA転送のグラフィック表示に基づいてDTS、デクラレーションなどを作り出すパイプ信号ツールPSTを使ってIDEを検討する。PSTは、開発者がMCU102内で1つ以上のDMA転送を図表で示して特定(規定)できるグラフィカル・プログラミング・インタフェース(GPI)を提供(規定)する。一実施の形態では、データ転送のグラフィック表示は、DMAC202、RAM106内のバッファ、周辺装置(たとえばUART114)のようなコンポーネントのグラフィック表示をドラッグかつドロップすることにより、GPIの上で構築される(組込まれる)。それから、開発者は、コンポーネント表示間でデータラインおよび/または信号ラインを追加できる。データラインは、1つのコンポーネント表示から別のものへのデータ転送を特定する。信号ラインは、1つコンポーネントによって生成され別のコンポーネントによって受信されるイベント信号を特定する。イベント信号の受信に応えて、コンポーネントは、ある動作(アクション)を開始する。説明を簡単にするために、特に言及された場合を除き、GPIに対して言及されたときコンポーネント表示を「コンポーネント」と言うものとする。
PSTは、設定ウィザードを規定(提供)する。開発者は、設定ウィザードを使ってGPIによって表示されたコンポーネントおよびラインのDMA転送パラメータを特定できる。転送パラメータの例は、コンポーネント間で転送されるべきデータの幅、転送されたデータを受信するRAM104内のバッファ名またはバッファのアレイ(配列)、バッファのサイズ、データが転送されるDMAチャンネルのアイデンティティ、データの転送をトリガーするイベントのアイデンティティ、データ・サンプル・レートなどを含むが、それらに限定されない。PSTは、転送パラメータを含めた、図(図表)で特定されるデータ転送を「マップ」ファイル内に格納できる。マップファイルは、1つ以上の、図でデザインされたデータ転送を含んでもよい。開発者は、追加の、図でデザインされたデータ転送を含む追加ファイルを作成できる。
PSTは、DTSアレイ、バッファの定義またはバッファのアレイ、部分的な(一部の)ISRなどを含んだ1つ以上のソースファイルを生成するためにマップファイルを処理できる。PSTよって生成されたDTSのそれぞれは、制御値、その制御値がAFにより書き込まれるべきアドレス、などを含んでも良い。DTSは、AFに、適切なHALモジュールを介して実行時間で制御レジスタに直接的または間接的に制御値を書き込ませることを可能にする。重要なことには、PSTとAFは、実行時間でDMAC202と他のコンポーネントとをプログラミングするための複雑なコードを書き込むために開発者が大きなユーザーガイドを参考にする必要性をなくす。
PTSによって生成されたソースファイルは、埋め込みプログラムを作成するために他のソースファイルでコンパイルされるとともにリンクされ得る。その結果は、フラッシュメモリ104内でプログラミングされ得る。実行時間で、DTSのアイデンティティ(たとえばタグ)は、AFへの呼び出しで渡される。AFは、DMAC202内の制御レジスタに1つ以上のHALモジュールを介して直接的か間接的かどちらかでDTSのバイナリ制御値を書き込む。AFは、ELC112またはICU116のような他のコンポーネントに、DTSの付加的な制御値または他の情報を書き込んでもよい。こうして、AFは、対応DTSの1つ以上のバイナリ制御値をそれぞれの制御レジスタに書き込むことにより、DMA転送のプログラムを作るために動作する。たとえば、AFは、その制御値を読み取ってそれらをそれぞれの制御レジスタに書き込んだ後に、DTS1によって規定(定義)されたデータ転送を実施できる。その後に、再度呼び出されたときにAFは、別のDTSに従って異なるDMA転送を実施するために、DMAC202のレジスタに、バイナリ制御値の新たなセットのまるひとつを書き込むことができる。
上述したように、本開示は、PSTを含むIDEを検討する。続けて図1~図2Bを参照して、図3は、コンピュータシステム300で実行するPSTの例の関連態様を図示する。PSTは、開発者が1つ以上のデータ転送を図で特定できるGPI302を規定する。図示された例では、GPI302は、第1および第2DAMデータ転送を特定するために使用される。
続いて図1と図3を参照して、第1DMAは、USBモジュール120、DMAC202、RAM106内のバッファ(すなわちusb_buffer)、CPU102のそれぞれのグラフ表示304~309をGPI302上でドラッグおよびドロップすることにより作成される。データライン316、318は、付け加えられ、USBモジュール120からusb_bufferへDMAC202を介してデータフローを定義する。CPU102の信号ライン319とグラフ表示とは、ISR(すなわちISR1)を開始するためのDMAC202によって生成できる割込み信号(すなわちDMA1イベント)を定義するために付け加えられる。第2DMA転送は、IS118、DMAC202、RAM106内のバッファアレイ(すなわちus_buffer)のそれぞれのグラフ表示310~314をGPI302上でドラッグおよびドロップすることによって作成される。データライン320、322は、付け加えられ、USBモジュール210からRAM106内のバッファアレイ(すなわちusb_buffer)へDMAC202を介してデータフローを定義するために付け加えられる。
また、GPI302は、開発者が第1および第2DMA転送用のパラメータを特定できる設定ウィザード330~340を示す。設定ウィザードは、表示されたコンポーネントまたはライン(たとえば信号ライン319)上での右クリックによって表示される。それぞれの設定ウィザードは、開発者がDTSの作成、バッファの定義、ISRへの割込み信号のリンクなどに必要とするパラメータ(たとえば、チャンネル数、バッファアレイ名、データ幅など)を入力(エンター)できる1つ以上のフィールドを含む。たとえば、設定ウィザード332は、データが転送されるDMAチャンネル数(すなわちチャンネル1)、転送されるべきデータの幅(すなわちバイト)、データ転送をトリガーするイベント信号のアイデンティティ(すなわちUSB0)を有する第1データ転送用のパラメータを、ユーザーに入力させることを可能にするフィールドを含む。図示された例では、第1データ転送をusb_bufferにトリガーするために選択された信号は、転送されるテータをそのバッファが含むときにUSB120のチャンネル0によって生成された信号である。パラメータの幾つかは、ドロップダウン方式のメニューを介して選択可能である。たとえば、設定ウィザード322は、内部的に生成された多くのイベント信号のうちいずれかを、たとえばイベント信号USB0などを開発者が選択できるドロップダウン方式のメニューを備える。PSTは、イベント信号USB0をDMAC202に切り替えるようにELC112をプログラミングするために必要とされる制御値を生成できる。設定ウィザード334は、開発者に、それぞれのバッファ(すなわち1024バイト)の名前(すなわちusb_buffer)、サイズ、および、アレイ内のバッファ数(すなわち2)を含めた、第1データ転送で使用されるバッファ用のパラメータを特定することを許容している。設定ウィザードは、それらの対応コンポーネントに固有であることがある。たとえば、DMAC用の設定ウィザードは、バッファ用の設定ウィザード内に含まれたフィールドと異なるフィールドを含んでもよい。データライン316、318のようなデータラインは、DMA転送のために幾つかの制御値を定義するためにPSTによって使用され得る。図示された実施の形態では、データライン316、318は、GPI302内でそれらの接続を与えられる第1DMA転送用のソースおよびデスティネーションとしてUSBチャンネル0およびusb_bufferを定義する。この情報により、PSTは、適切な値をDMAC202内のチャンネル1のソースおよびデスティネーション制御レジスタのために選択可能である。加えて、この情報により、PSTは、DMAチャンネルがUSB120およびRAM106と正確にインタフェースできるように、適切な制御値をチャンネルのDCRレジスタのために選択可能である。
PSTは、埋め込みプログラムでの使用のために一部のISRを開発者に定義するのを可能にする。一部のISRは、DMA転送を介してRAM106へ転送されたデータを処理するための命令を含むように開発者によって編集され得る。一実施の形態では、ISRは、DMAC202を介してRAM106へのデータ転送を完了した後に、割込み信号を生成するDMAC202に応じて開始され得る。GPI302は、DMAC202によって生成された割込み信号をそれぞれのISRにリンクするために使用され得る。一部のISRは、処理されるRAM内のデータの位置と量を使ってCPU202を定義するコードと一緒に生成される。図3で図示された例では、CPU表示309は、第1データ転送に関連する一部のISRをセットアップするためにGPI302上でドラッグおよびドロップされた。信号ライン319は、ISR用のパラメータを定義するために加えられた。これらのパラメータは、設定ウィザード344を使って定義され得る。図示された例では、設定ウィザード344は、ISR1、そのISRの名前、DMA1イベント、割込みラインのアイデンティティを定義するために開発者によって使用され、DMA1イベントは、実行時間でusb_bufferへのデータ転送を完了したときにDMAチャンネル1によって生成された信号である。PSTは、設定ウィザード344および他の情報に入力されたパラメータを使って、usb_bufferがどこに設置されるのかをCPU202に伝えるコードを初めに含んだ一部のISRを作成する。それから、開発者は、usb_buffer内に格納されたデータを処理するために、IDEエディターを使う一部のISRに付加コードを加えることができる。
続いて図1~図3を参照して、図4は、AF402とフラッシュメモリ104内に格納されたDTSのアレイ404とのブロック線図表示を図示する。AF402は、CPU102上で実行する命令の形を取り、MCU100のアーキテクチャに固有である。CPU102は、AFへの呼び出しにおいて渡されアレイ404内でDTSを識別するタグ(以下、DTS ID)を使ってアレイ404にアクセスできる。説明のために、フラッシュメモリ104内に埋め込まれたプログラムが、AFを呼び出す多重命令を含み、多重命令のそれぞれには引数としての分離DTS IDを備えると仮定する。要するに、呼び出し命令は、DTS ID引数を除いて相互に同一である。アレイ404は、それぞれのDTSに対してDTS IDをマップする。それぞれのDTSは、1つ以上のバイナリ制御値を定義する。加えて、それぞれのDTSは、バイナリ制御値が書き込まれた制御レジスタのアドレスまたは他のアイデンティティを定義してもよい。追加の情報は、それぞれのDTS内に格納されてもよい。AF402は、DTS内で定義されたバイナリ制御値をDMAC202の適切な制御レジスタに直接的または間接的に(1つ以上のHALモジュールを介して)書き込む。ひとたび制御値がDMAC202に書き込まれると、DMAC202がDTSに対応するデータ転送を実施するようにプログラミングされることは、当業者なら理解する。
図5は、一実施の形態による、AF402によって実施されたプロセスの例を図示する。そのプロセスは、AF402を呼び出す命令を実行するCPU102に応えて開始される。それに返答して、AF402の実行中にCPU102は、呼び出し命令において渡されたDTS IDを使ってアレイ404にアクセスし、DTS IDにマップされたDTSのバイナリ制御値を読み出す。ステップ506では、ステップ504で読み出されたバイナリ制御値は、DMCA202のそれぞれの制御レジスタにおよび/またはMCU100の他のコンポーネントに直接的または間接的に書き込まれる。ひとたびDMAC202および/または他のコンポーネントがプログラミングされると、プログラム制御はステップ510で示されるように埋め込みプログラムに戻される。
AF402がMCU102のアーキテクチャに固有であることに留意するべきである。AF402は、他のソース・コード・コンポーネントにコンパイルおよびリンクされ得る場合に、インターネットを介してコンピュータシステムにダウンロード可能である。AF402は、それぞれのDMAデータ転送をプログラミングするための複雑なコードをプログラム開発者が書き込む必要性をなくす。むしろ、プログラム開発者は、それぞれのデータ転送を実施するためにDTS IDをAF402に渡す呼び出し命令を加えることのみを必要とする。これにより、MCUに対してバグ無し埋め込みプログラムを開発するタスクが非常に単純化される。DTSは、作成されて、上述されたPSTを使うプログラムメモリ104にその後にダウンロードされ得る。一実施の形態では、PSTは、コンピュータシステムのマイクロプロセッサ上で実行する命令の形を取っても良い。AFのように、ウィザードはインターネットを介してサーバーコンピュータシステムからダウンロードされ得る。AFは、自身によって、または、コードエディタ、コンパイラ、およびリンカーを含んだパッケージにおいてダウンロード可能である。
本発明は、幾つかの実施の形態に関して記述されたが、ここで詳述された特有の形態に限定されるよう意図されていない。それどころか、添付された請求項によって規定されるような発明の範囲内に合理的に含まれ得るような変更、変形、および等価物を覆うよう意図される。

Claims (10)

  1. フラッシュメモリ、中央処理装置(CPU)、直接メモリアクセス・コントローラ(DMAC)および第1周辺装置、を備えたマイクロコントローラ(MCU)で実施される方法であって、
    前記方法は、前記CPUが、前記フラッシュメモリに格納された関数を呼び出し、呼び出されたときに第1パラメータを前記関数に渡し、フラッシュメモリに格納されるとともに第1DMAC制御値および第1周辺装置用制御値を備える第1データ構造体を前記第1パラメータが識別し、
    前記関数のCPU実行命令に応じて前記第1DMAC制御値を前記CPUが読み出し、
    前記関数の前記CPU実行命令に応じて前記第1周辺装置用制御値を前記CPUが読み出し、
    前記関数の前記CPU実行命令に応じて前記DMACのそれぞれの制御レジスタに前記第1DMAC制御値を前記CPUが書き込み、
    前記関数の前記CPU実行命令に応じて前記第1周辺装置のそれぞれの制御レジスタに前記第1周辺装置用制御値を前記CPUが書き込む、
    方法。
  2. 請求項に記載の方法において、
    前記第1周辺装置が割込み制御装置を備える、
    方法。
  3. 請求項に記載の方法において、
    前記第1データ構造体は、第1割込みサービスルーチン用の第1アドレスを備え、
    前記方法は、さらに、前記関数の前記CPU実行命令に応じてベクトル割込みテーブルに前記第1アドレスを前記CPUが書き込む、
    方法。
  4. 請求項に記載の方法において、
    前記第1周辺装置は、イベント・リンク・コントローラを備える、
    方法。
  5. 請求項1に記載の方法において、
    さらに、前記第1DMAC制御値が前記DMACの前記それぞれの制御レジスタに書き込まれた後に第1データを前記DMACが読み出し、
    前記第1DMAC制御値が前記DMACの前記それぞれの制御レジスタに書き込まれた後に前記第1データを前記MCUの第1バッファに前記DMACが書き込む、
    方法。
  6. マイクロコントローラ(MCU)内に設けられ、前記MCUの中央処理装置(CPU)により実行可能な命令を備えたフラッシュメモリであって、
    前記CPUが、前記命令の実行に応じて方法を実施し、前記MCUが第1周辺装置を備え、
    前記方法は、前記CPUが、前記MCUの前記フラッシュメモリに格納された関数を呼び出し、呼び出されたときに前記関数に第1パラメータを渡し、前記フラッシュメモリに格納されるとともに、第1周辺装置用制御値、および、前記MCUの直接メモリアクセス・コントローラ(DMAC)を制御するための第1直接メモリアクセス・コントローラ(DMAC)制御値を備える第1データ構造体を前記第1パラメータが識別し、
    前記関数のCPU実行命令に応じて前記第1DMAC制御値を前記CPUが読み出し、
    前記関数の前記CPU実行命令に応じて前記第1周辺装置用制御値を前記CPUが読み出し、
    前記関数の前記CPU実行命令に応じて前記DMACのそれぞれの制御レジスタに前記第1DMAC制御値を前記CPUが書き込み、
    前記関数の前記CPU実行命令に応じて前記第1周辺装置のそれぞれの制御レジスタに前記第1周辺装置用制御値を前記CPUが書き込む、
    フラッシュメモリ。
  7. 請求項に記載のフラッシュメモリにおいて、
    前記第1周辺装置は、割込み制御装置を備える、
    フラッシュメモリ。
  8. 請求項に記載のフラッシュメモリにおいて、
    前記第1データ構造体は、前記フラッシュメモリに格納された第1割込みサービスルーチンのための第1アドレスを備え、
    前記方法は、さらに、前記関数の前記命令を実行する前記CPUに応じてベクトル割込みテーブルに前記第1アドレスを前記CPUが書き込む、
    フラッシュメモリ。
  9. 請求項に記載のフラッシュメモリにおいて、
    前記第1周辺装置は、イベント・リンク・コントローラを備える、
    フラッシュメモリ。
  10. 請求項に記載のフラッシュメモリにおいて、
    前記方法は、さらに、前記第1DMAC制御値が前記DMACのそれぞれの前記制御レジスタに書き込まれた後に第1データを前記DMACが読み出し、
    前記第1DMAC制御値が前記DMACのそれぞれの前記制御レジスタに書き込まれた後に前記MCUの第1バッファに前記第1データを前記DMACが書き込む、
    フラッシュメモリ。
JP2018545302A 2016-02-29 2017-02-28 マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 Active JP7122969B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662300953P 2016-02-29 2016-02-29
US62/300,953 2016-02-29
PCT/US2017/019902 WO2017151588A2 (en) 2016-02-29 2017-02-28 A system and method for programming data transfer within a microcontroller

Publications (2)

Publication Number Publication Date
JP2019512135A JP2019512135A (ja) 2019-05-09
JP7122969B2 true JP7122969B2 (ja) 2022-08-22

Family

ID=59744378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018545302A Active JP7122969B2 (ja) 2016-02-29 2017-02-28 マイクロコントローラのデータ転送をプログラミングするシステムおよび方法

Country Status (4)

Country Link
US (1) US10789192B2 (ja)
JP (1) JP7122969B2 (ja)
CN (1) CN109074336B (ja)
WO (1) WO2017151588A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402188B2 (en) * 2008-11-10 2013-03-19 Micron Technology, Inc. Methods and systems for devices with a self-selecting bus decoder
CN110069432B (zh) * 2018-01-22 2023-03-24 小华半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法
US10642766B1 (en) * 2019-07-15 2020-05-05 Daniel Kilsdonk Facilitating sequential data transformations via direct memory access
FR3101589B1 (fr) * 2019-10-04 2023-04-14 Valeo Systemes Dessuyage Dispositif de nettoyage de vitre de véhicule
JP7383589B2 (ja) * 2020-09-23 2023-11-20 株式会社東芝 情報処理装置
CN112802527B (zh) * 2021-04-14 2021-07-02 上海灵动微电子股份有限公司 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统
TWI775505B (zh) * 2021-06-25 2022-08-21 新唐科技股份有限公司 可避免突發事件干擾的微控制器、保護電路及保護方法
CN115904534A (zh) * 2022-10-24 2023-04-04 浙江智柔科技有限公司 处理设备的参数配置方法、系统以及存储介质
CN117891767B (zh) * 2024-01-25 2024-07-26 上海奥令科电子科技有限公司 Adc芯片模组

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004079583A1 (ja) 2003-03-05 2004-09-16 Fujitsu Limited データ転送制御装置およびdmaデータ転送制御方法
JP2007128336A (ja) 2005-11-04 2007-05-24 Nec Corp 並列レジスタアクセス装置及びシステムlsi
US20070162649A1 (en) 2005-12-22 2007-07-12 Vimicro Corporation Direct Memory Access Controller
US20150006768A1 (en) 2013-06-27 2015-01-01 Silicon Laboratories Inc. Immediate direct memory access descriptor-based write operation
US20150178203A1 (en) 2013-12-24 2015-06-25 Marc Torrant Optimized write allocation for two-level memory
JP2015148851A (ja) 2014-02-04 2015-08-20 株式会社リコー 画像処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944800A (en) * 1997-09-12 1999-08-31 Infineon Technologies Corporation Direct memory access unit having a definable plurality of transfer channels
JPH11353153A (ja) * 1998-06-05 1999-12-24 Kokusai Electric Co Ltd レジスタ設定回路
US6260081B1 (en) * 1998-11-24 2001-07-10 Advanced Micro Devices, Inc. Direct memory access engine for supporting multiple virtual direct memory access channels
US8117475B2 (en) * 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
US20080147905A1 (en) * 2006-12-15 2008-06-19 Infineon Technologies Ag Method and system for generating a DMA controller interrupt
CN101047721B (zh) * 2007-04-11 2010-05-26 重庆重邮信科通信技术有限公司 采用dma控制器进行数据过滤处理的方法
JP2010244164A (ja) * 2009-04-02 2010-10-28 Renesas Electronics Corp Dmaコントローラ、情報処理装置、及びdma管理方法
WO2013098919A1 (ja) * 2011-12-26 2013-07-04 ルネサスエレクトロニクス株式会社 データ処理装置
US8769549B2 (en) * 2012-04-30 2014-07-01 National Instruments Corporation Graphical programming system enabling data sharing from a producer to a consumer via a memory buffer
US20140006667A1 (en) * 2012-06-27 2014-01-02 Broadcom Corporation Adaptive hardware interrupt moderation
US9940041B2 (en) * 2015-09-21 2018-04-10 International Business Machines Corporation Copy-redirect on write

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004079583A1 (ja) 2003-03-05 2004-09-16 Fujitsu Limited データ転送制御装置およびdmaデータ転送制御方法
JP2007128336A (ja) 2005-11-04 2007-05-24 Nec Corp 並列レジスタアクセス装置及びシステムlsi
US20070162649A1 (en) 2005-12-22 2007-07-12 Vimicro Corporation Direct Memory Access Controller
US20150006768A1 (en) 2013-06-27 2015-01-01 Silicon Laboratories Inc. Immediate direct memory access descriptor-based write operation
US20150178203A1 (en) 2013-12-24 2015-06-25 Marc Torrant Optimized write allocation for two-level memory
JP2015148851A (ja) 2014-02-04 2015-08-20 株式会社リコー 画像処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
藤井 久史 ほか,GPU向けFFTコードのTCAアーキテクチャによる実装と性能評価,研究報告 ハイパフォーマンスコンピューティング(HPC) [online] ,日本,情報処理学会,2015年02月23日,2015-HPC-148 12号,p.1-9,特に、2.5 TCAにおけるプログラミング環境

Also Published As

Publication number Publication date
CN109074336B (zh) 2022-12-09
JP2019512135A (ja) 2019-05-09
WO2017151588A3 (en) 2017-10-05
US20190018810A1 (en) 2019-01-17
CN109074336A (zh) 2018-12-21
WO2017151588A2 (en) 2017-09-08
US10789192B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
JP7122969B2 (ja) マイクロコントローラのデータ転送をプログラミングするシステムおよび方法
EP1004072B1 (en) Embedded graphical programming system
CN100555218C (zh) 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
US8719808B1 (en) Method and apparatus for using object files to provide reliable program operation
US20170102955A1 (en) Software platform for embedded systems
Lacamera Embedded systems architecture
JP2013518733A (ja) ロボットシステムの制御方法及びその装置
KR102276696B1 (ko) 집적 회로 무선장치
CN104216831B (zh) 一种基于Tcl的FPGA交互式仿真方法
US20180357150A1 (en) System for development and emulation of embedded systems
KR100665134B1 (ko) 임베디드 시스템의 루트 파일 시스템 구성 및 실행 방법,그리고 이를 이용한 이동 단말 장치
KR100952762B1 (ko) 디지털 시그널 프로세서의 실시간 디버깅 방법
KR20020032256A (ko) 통합 임베디드 시스템 및 이의 구현 방법
KR20050063023A (ko) 제이티에이지를 이용한 임베디드 시스템의 디버깅 장치 및방법
CN113157329A (zh) 启动应用的方法、系统、服务器和存储介质
CN113228172A (zh) 直接内存访问控制方法、系统、计算机设备及存储介质
KR100658564B1 (ko) 임베디드 시스템의 소프트웨어 개발 및 실행 방법, 그리고이를 이용한 이동 단말 장치
US20020004877A1 (en) Method and system for updating user memory in emulator systems
CN112802527B (zh) 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统
TWI637277B (zh) 標準程式語言腳本架構結合虛擬機的控制方法及程式產品
Smith How to Build and Debug Programs
JPH11296408A (ja) 組み込み機器用ソフトウエア論理シミュレータ
KR100658485B1 (ko) 마이크로프로세서 개발시스템
CN119668138A (zh) 工程环境提供装置、控制器及其实现装置和实现方法
Ezpeleta et al. Toolchain and workflow for the design of an ISO 11783-compatible ECU based on ISOAgLib

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220809

R150 Certificate of patent or registration of utility model

Ref document number: 7122969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150