[PATCH rtems 00/12] bsp/imxrt: Update SDK and prepare for new variant

oss at c-mauderer.de oss at c-mauderer.de
Fri May 5 15:01:46 UTC 2023


Hello Gedare,

thanks for taking a look at the patch set.

Am 05.05.23 um 15:56 schrieb Gedare Bloom:
> On Thu, May 4, 2023 at 9:01 AM Christian Mauderer
> <christian.mauderer at embedded-brains.de> wrote:
>>
>> Hello,
>>
>> this patch set for the arm/imxrt BSP family updates the SDK files to the
>> latest version of the mcux-sdk from NXP and prepares the BSP for further
>> chip variants. I plan to add a BSP that uses the IMXRT1166 soon.
>>
>> As a base for the mcux-sdk files, I now use the NXP git repository
>> instead of zip files that can be downloaded from NXP. I kept the exact
>> file system structure to make future updates simpler.
>>
>> To import the files, I used a script. It is not a clean script and it
>> was only tested on a Linux machine. Despite that, I added that script to
>> the BSP directory in case someone else ever wants to update the
>> mcux-sdk. Updating the SDK is also possible without the script. It's
>> just a lot more manual work. So if we don't want a script in that state
>> in the repository, I can also just keep it on a private branch.
>>
> I would recommend that you document the import/update process for the
> SDK in this BSP (or family) documentation. You could provide a stable
> external link to the script there instead of including it in the
> rtems.git tree. I'm not convinced that including scripts etc in the
> same tree as the source they manipulate is a great practice. It seems
> to violate separation of concerns.

Disadvantage is that the script (and documentation) is a bit less simple 
to find. But that's not a problem for me (I know where to search) so I 
will adapt that.

De we have an official preferred stable location? Otherwise, I think 
either a small repo in my https://git.rtems.org/christianm or a repo on 
github should be a good place (most likely the later one).

> 
>> The patches that import the new SDK files (patch 0002) and remove the
>> old ones (patch 0004) are too big for the list. I'll only send the
>> summary. You can find the full patches here:
>>
>>    0002: https://gitlab.com/c-mauderer/rtems/-/commit/2a871672767a95598e5af42373bfebd3eb9440d3
>>    0004: https://gitlab.com/c-mauderer/rtems/-/commit/2a3e104fa808d7f34a1930344d7b39d11cf39f3d
>>
>> The complete patch set is on this branch:
>>
>>    https://gitlab.com/c-mauderer/rtems/-/commits/cm/20230504_imxrt/
>>
>> At the moment, I import the support files for all currently available
>> i.MXRT* variants. The headers for the CPU registers are really big (a
>> few megabytes per header) which makes the complete source tree of the
>> mcux-sdk bigger than 90MB. If preferred, I can remove most variants and
>> only keep the ones that are currently used or will be used soon
>> (IMXRT1052 and IMXRT1166) to reduce the size.
>>
> Thanks, I think this is fine. The increase in the number of HAL/SDK
> that we have to import is starting to concern me in general. I wonder
> if there is a better way to manage these external sources.
> 

I think I have a language problem here: Is it fine that I push 96MB or 
is it fine that I reduce the size of the patch before pushing?

In this case I only updated the existing HAL with more chips, but I 
agree that having a better solution to manage HALs than the 
clone-and-own approach would be great.

One possible solutions could be to use subrepos. We can clone the lib to 
the git.rtems.org, add necessary patches and add that as a subrepo. If 
an update is necessary, patches can just be rebased on the latest 
version of the upstream lib. Another one could be something like the 
west tool that is used in Zephyr. Maybe can also make it simpler to 
include libs with vendor specific licenses.

But approaches like that will have a big impact on how to handle a lot 
of tasks in RTEMS. For example you would have to init submodules before 
building BSPs. The submodules have to be handled during release. And a 
lot more. So we shouldn't discuss that as a side note to a patch set but 
rather as a new mail thread.

Best regards

Christian

>> Best regards
>>
>> Christian
>>
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list