I’m thinking maybe we’d just malloc() that thing, if it comes from
sys/config. And allow it to be set by BSP, and add that model/mfg
info. Following the same model with those ones.

> On Jun 22, 2018, at 10:04 AM, Jacob Rosenthal <jakerosent...@gmail.com> wrote:
> 
> So now I think we just need to argue about the default serial size in the
> upstream bsps. With something similar to chris's recent pr on hw_id_size
> people can redefine size to whatever they want when they alter bsp, but
> what should the default bsp size be?  The existing id package is 64
> chars. UUID's nowadays are 128bit, ie 4 of the 32bit uicr registers on a
> nordic which I guess is what Id naively argue for. How are others doing
> serials these days? Is there an existing proprietary/open backend for
> serial generation that we could keep in mind? I saw that bitmark thing
> recently.
> 
> 
> On Mon, Jun 18, 2018 at 11:31 AM marko kiiskila <ma...@runtime.io> wrote:
> 
>> 
>> 
>>> On Jun 16, 2018, at 9:34 AM, Jacob Rosenthal <jakerosent...@gmail.com>
>> wrote:
>>> 
>>> I think you're saying create a CONFIG_NVMC much like we have CONFIG_FCB
>> and
>>> CONFIG_NFFS
>>> 
>>> Looking more into the config system
>>> "Configuration items are stored as key-value pairs, where both the key
>> and
>>> the value are expected to be strings"
>>> 
>>> Im not sure strings and config are a good fit as at least on the nrf
>>> devices Im familiar with we have a total of 32 32bit registers.
>> 
>> You would not store the key as in it’s full there, just a short key (which
>> then would be expanded), followed by value.
>> 
>> However, that’s probably too custom of a thing to make a good fit here.
>> 
>>> So I think its more likely well have to have custom functions at the
>>> bsp/mcu layer much like exsiting nrf52_hw_id.c and then something that
>>> registers those into strings dynamically into the id package (again like
>>> hw_id) rather than waste all the memory to duplicate the data as a
>> string…
>> 
>> Yeah, I think that would be better. We could allow that data to be filled
>> in
>> from BSP code (or wherever). And we should add that model & mfg
>> pointers as well. This would be an improvement.
>> 
>>> Maybe the bsp/mcu itself can just register a config like "bsp/serial",
>>> "bsp/custom1" instead of us trying to infinitely extend the id package
>> for
>>> custom nvmic functions
>> 
>> That, while possible, I would not use. I want to find the identifying
>> pieces
>> of info from the same place, regardless of BSP/MCU combo.
>> 
>>> 
>>> 
>>> On Tue, Jun 12, 2018 at 3:47 AM marko kiiskila <ma...@runtime.io> wrote:
>>> 
>>>> 
>>>> 
>>>>> On Jun 12, 2018, at 8:24 AM, Jacob Rosenthal <jakerosent...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> I dig the config id package for what it has available, but several
>> things
>>>>> puzzle me.
>>>>> 
>>>>> Obviously I can fork this and make all these changes for my project,
>> but
>>>>> just feeling out how people are using this.
>>>>> 
>>>>> I tend to think of the id package kind of replacing or being the source
>>>> of
>>>>> truth for Device Information service.
>>>>> 
>>>>> As such I feel like were missing a model/style and manufacturer name
>>>> value
>>>>> in here.
>>>> 
>>>> I think that’s true, those are often used. It started with hwid, and as
>>>> people
>>>> don’t want to use that as device id for their stuff, then the serial
>>>> number.
>>>> 
>>>>> 
>>>>> Also the serial puzzles me, Is anyone using this? It seems odd to me
>> that
>>>>> youd have user settable serial number..  Isnt it more likley wed burn a
>>>>> serial into user registers on the micro? And on top of that its holding
>>>>> 64byte array by default empty.
>>>> 
>>>> People are using it. Whether it takes space in RAM or not could be made
>>>> configurable though.
>>>> 
>>>> What is missing is a more fine-grained access control,
>>>> which would allow people access to specific operations, e.g. allow
>>>> config read but prevent config writes. I would have needed this already,
>>>> but haven’t had time to think what it should look like :)
>>>> 
>>>> Updating serial number makes no sense, but you need to be able to set
>>>> it at the factory.
>>>> 
>>>>> 
>>>>> What if we expose id/serial to the bsp definition like we do in say
>>>>> nrf52_hw_id.c and let the user populate it however they like, most
>> likely
>>>>> from (in this nordic case) UICR->CUSTOMER
>>>> 
>>>> I would recommend writing a new backend to config, which reads data
>>>> from UICR. As you might’ve noticed, you can specify multiple sources
>>>> as a source of config. I have not verified that all the right APIs are
>>>> exposed
>>>> by the sys/config to allow config backend to live in a different
>> package,
>>>> but the intent was that you’d be able to make part of config anywhere.
>>>> EEPROM has most often been brought up.
>>>> 
>>>> 
>> 
>> 

Reply via email to