What's the difference between BitIO and BitIO_LDD in PE?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

What's the difference between BitIO and BitIO_LDD in PE?

1,494件の閲覧回数
修華許
Contributor III

Can anyone tell me what's the different ?

sounds the same to me . I found BitIO_LDD has one more function "Auto initialization" .

But still confuse me that why a lot of peripheral has other _LDD type component?

ラベル(1)
3 返答(返信)

1,215件の閲覧回数
BlackNight
NXP Employee
NXP Employee

Historically, there were first the Embedded Components (aka 'Beans'). This is what you have for example as BitIO.

Because that API (no device handle used) did not scale well if used in a context with an operating system, a new category of components (LDD = Logical Device Drivers) had been created. To provide compatibility, some of the 'Beans' for Kinetis are a wrapper to the LDD components to make migration of projects easier.

As all the LDD components need to have a 'device handle' as parameter, you can create that handle either with the Init() method, or have it created automatically with the 'Auto initialization' setting.

I hope this helps,

Erich

PS: you might have a read here about some of the things I mentioned: There is a Time and Date for both Worlds | MCU on Eclipse

1,215件の閲覧回数
修華許
Contributor III

Thanks Erich:

According to your article.

I think for the one who dosen't  use a RTOS should have to choose non-LDD device than LDD-deivce.

And I found your article date , it is written in 2012.

I guess  we can use dual interface but not only LDD right now?

So I can use BitIO than BitIO_LDD

So if I want to use a SPI interface , I had better to choose Synchro Master than SPI Master LDD , right?

0 件の賞賛
返信

1,215件の閲覧回数
BlackNight
NXP Employee
NXP Employee

You can use BitIO and BitIO both with and without an RTOS, it does not matter. The BitIIO_LDD is more 'tuned' towards if you are using MQX, but really: an RTOS should not make a dependency on drivers, or use an abstraction layer, like the Kinetis SDK.

Mentioning the SDK: if you are using the Kinetis SDK, then there is a third category of components, the fsl_xxx ones. If using the Kinetis SDK, both the BitIO and BitIO_LDD ones are not available (working).

As for the SPI: I prefer to use the SynchroMaster component, as having an easier API and easier to use. But it is up to you: you can use the one or the other.

Erich