PSoCCreator:Program Create

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
RyYo_1406951
Level 5
Level 5
100 replies posted 50 replies posted 25 replies posted

Below, the same sentences are written in English and Japanese.

・English
I want to write a program to write a register by myself without using the API.
Which document should I refer to?

・日本語(Japanese)
APIを使用せず、自分でレジスタを書くプログラムを作成したいです。
どの資料を参考にすればよいですか?

0 Likes
1 Solution
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

御質問背景の詳細がないので、一般的な事からですが、

- デバイス(PSoC)のArchitecture TRM

- デバイス(PSoC)のRegister TRM

が必要になります。

コーディングについては纏まったドキュメントは御座いません。

また、既存のProjectからデバイスのレジスタ情報が定義されたHeaderファイル(例えばcydevice_trm.h、cyfitter.h等)、コンポーネントのHeaderファイルを用いて、レジスタ(アドレス)に直値を入れる手段もあります。

例えば

    /* Clear TC Interrupt */

    /* PWM_ClearInterrupt( PWM_INTR_MASK_TC ); */

    *(reg32 *)0x40200170u = (uint32)1;

2行目のAPIコールの内容は実際3行目で行っているものです。

以上、よろしくお願い致します。

View solution in original post

2 Replies
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

御質問背景の詳細がないので、一般的な事からですが、

- デバイス(PSoC)のArchitecture TRM

- デバイス(PSoC)のRegister TRM

が必要になります。

コーディングについては纏まったドキュメントは御座いません。

また、既存のProjectからデバイスのレジスタ情報が定義されたHeaderファイル(例えばcydevice_trm.h、cyfitter.h等)、コンポーネントのHeaderファイルを用いて、レジスタ(アドレス)に直値を入れる手段もあります。

例えば

    /* Clear TC Interrupt */

    /* PWM_ClearInterrupt( PWM_INTR_MASK_TC ); */

    *(reg32 *)0x40200170u = (uint32)1;

2行目のAPIコールの内容は実際3行目で行っているものです。

以上、よろしくお願い致します。

回答ありがとうございます。

>- デバイス(PSoC)のArchitecture TRM

>- デバイス(PSoC)のRegister TRM

>が必要になります。

⇒API使用せず、プログラムを組む場合、ATRM,RTRMの内容を理解し、

 レジスタをたたく必要があるということですね。

0 Likes