SDK organization

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SDK organization

831 Views
rojer
Contributor II

When developing an external example for KDS (Mongoose web server), i found it pretty hard to incorporate pieces of the SDK that i need, namely drivers and LWIP stack.

the example project ended up being more complicated than necessary, i had to instruct the user to put SDK in a specific location so that i can then refer to a specific directory inside. my example also had to import just the right parts of LWIP and exclude others - all in all, not a very straightforward way of doing it.

 

i am not working on an LPC4088 port and found that to be much better: in the LPCOpen package drivers are themselves separate Eclipse projects, and other projects can refer to them using eclipse path variables, like so: ${workspace_loc:/lpc_chip_40xx/inc}

lpc_chip_40xx here is the driver project's name, so it doesn't matter where the user put SDK, i can simply instruct them to import this particular project and that's it. very handy.

it's not all roses with LPC SDK - they duplicate entire LWIP source 3 times, which is a bummer, but that's another matter.

 

so, my suggestion for KSDK is to create projects for chip drivers, FRDM-K64F board drivers and 3rd party software (e.g. lwip). this will make using SDK in projects easier.

Labels (1)
0 Kudos
5 Replies

576 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Deomid

I suppose that you use FRDM-K64F, in the case, you can download SDK2.0 based on FRDM-K64F from the website:

http://www.nxp.com/ksdk

after you install the SDK2.0, thereis a directory:

C:\DriverE\SDK2.0_K64F\boards\frdmk64f\demo_apps\lwip

You can develop your project based on the LWIP example.

If you want to new a project, you can use a "clone" tools called "Project Generator" to clone a new project:

You can download the "Project Generator" tools from the website:

Software Development Kit for Kinetis MCUs|NXP 

Hope it can help you

BR

Xiangjun Rong

0 Kudos

576 Views
rojer
Contributor II

hi Xiangjun

my goal is slightly different. our company produces a piece of software - a networking library, and i would like to create an example project that users of KDS would be able to easily import and run.

in my example i'll be using chip-level drivers, board-level drivers and LWIP. of course, i could just copy everything i need and distribute it as one big ball of sources, but i would like to only distribute the bare minimum necessary and reduce copying to a minimum. i expect that my audience already has KSDK installed somewhere, and ideally i'd just like to make use of that, pulling in the parts i need. i found that to be difficult with current organization: i have to make assumptions about the location of the SDK and then carefully pick and choose parts.

i managed to do it, but it wasn't pretty (you can see the resulting project here). since Eclipse supports nice way of referring to projects in a workspace, it would've been much nicer and easier to reuse if SDK was structured the way i suggested (and the way your colleagues in the LPC group do it) - with projects for drivers and 3rd party software. it would make reuse easier, without any special tooling required.

0 Kudos

576 Views
MarekTrmac
NXP Employee
NXP Employee

Hi Deomid,

it is possible to clone SDK example projects using File - New - Kinetis SDK 2.x Project wizard, see attached picture.

With this selection, the wizard copies selected SDK example into your workspace and it contains only sources needed in thes example and no other sources are needed.

Capture.PNG

Please mind, the cloning functionality is not available for all SDK packages, because there is needed specific information for each example project to be able to clone it. Ensure you have New Project Wizard for SDK 2.x updated from the update site and download the latest SDK package from the kex.nxp.com.

The same functionality is available in Project Generator if you select to Clone with Stand Alone option.

Regards

Marek

0 Kudos

576 Views
rojer
Contributor II

Marek, this is the opposite of what i want, though.

the last thing i want it to make a copy of all the drivers and lwip yet again for my project.

if a new sdk is released, fixing some bugs (e.g. the ethernet rx bug reported earlier) or adding improvements, my project will also need to be updated and re-released.

instead, it's much better if i just say - take the latest SDK from NXP and import the "K6x_drivers", "K6FRDM_drivers", "K6x_LWIP" from it, or some such. i don't have to carry a whole bunch of unrelated files along with my stuff and keep them in sync with SDK releases.

Here's project tree of the same example for LPC. I want _that_ :smileyhappy: (except they don't have a project for LWIP, so i have to sneak it from the SDK webserver example).

Desktop.png

0 Kudos

576 Views
MarekTrmac
NXP Employee
NXP Employee

Hi Deomid,

So you can use SDK Project Generator to clone the project. Do not select "Stand Alone" option to create linked project.

Regards

Marek

0 Kudos