-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
driver: flash: Network core flash driver #13917
Conversation
8830c59
to
10addfa
Compare
10addfa
to
50854ef
Compare
1952ca8
to
180d09d
Compare
Test specificationCI/Jenkins/NRF
CI/Jenkins/integration
Detailed information of selected test modules Note: This message is automatically posted and updated by the CI |
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
ee9c08f
to
1050136
Compare
8bbf11d
to
1c5b5d4
Compare
I do wonder if we really need this here, or could it go upstream to zephyr instead? |
1c5b5d4
to
8ead7ee
Compare
Does it make sense for anything upstream to use this? I wouldn't mind putting it upstream; I wonder if it would be accepted. All this is just a workaround because the application core cannot access network core flash while being the driver of updates. |
5014a5b
to
665c00c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should consider using a light-weight combination:
- Stop using nrf_ipc
- Use icmsg as a backend for the IPC service
- Use something super light-weight like nrfs does (check with @Rafal-Nordic)
If that doesn't work to reduce flash footprint then we should just use this PR as-is.
Great work by the way!
665c00c
to
d134667
Compare
@carlescufi We are pursuit to optimize the footprint. This will be done (most probably) by using own serialization layer instead of zcbor and tweaks the configuration. As the result I expected something which will be possible in boot-time and in application-running time (two separate instances, separated in execution time, each with own configuration). |
Discussed with Andrzej, optimization will be tackled later
9489d5d
to
6c690bb
Compare
Dropping from 2.6.0 as there was no approvals before RC1. |
2d55d7b
to
6a856e4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will
static const struct device *const flash_controller = | ||
DEVICE_DT_GET_OR_NULL(DT_CHOSEN(zephyr_flash_controller)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need to go back there - VNFD should allow full access in boot stage (B0N's VNFD instance) and limits access in application run-time stage ( networking stack VNFD instance). Maybe we should do that in follow-up patch.
ffe5a9b
to
b02088d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really appreciate how this code legible is.
Just one nit for help info.
I think access control might be introduced in follow-up PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK. Once comment left.
b02088d
to
472432e
Compare
Flash driver for interacting with network core's flash from the application core. This utilizes IPC and NRF_RPC to controll flash commands in the network core. Signed-off-by: Sigvart Hovland <[email protected]>
472432e
to
39225f3
Compare
select NRF_RPC | ||
select NRF_RPC_CBOR | ||
select FLASH | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unneeded empty line?
Memory footprint analysis revealed the following potential issuessample.matter.template.release[nrf7002dk_nrf5340_cpuapp]: ROM size increased by 1440[B] in comparison to the main branch. - link (cc: @kkasperczyk-no @ArekBalysNordic @markaj-nordic) Note: This message is automatically posted and updated by the CI (latest/sdk-nrf/PR-13917/35) |
Flash driver for interacting with network core's flash from the application core. This utilizes IPC and NRF_RPC to do flash commands in the network core.