It seems to me that we should expect a mix of multiple cores to become
commonplace. This has already begun.
For example, STM32H747AI has an Arm Cortex-M7 and an Arm Cortex-M4.
How would a scenario like this be handled? Would it require two builds
and two operating system images?
It seems to me that we should expect a mix of multiple cores to become
commonplace. This has already begun.
That has been going on for years. The LPC43 was the first I heard of and that was several years ago, I am guessing around 2014.
I don't know what you would do with an M7 and an M4. I suspect that there would be many risks in trying an SMP solution so AMP would probably be more appropriate.
Hello Greg, Nathan,
I think i answered to Nathan only because of my mail client. I
asked an alike question to Greg some times ago . I am still very
interested about working toward the OpenAMP implementation. i have
the specs and some hardware around to work with. Maybe we could
set up something like a trello to organize multi peoples
developpment ?
Anyway i'd like to take part to that implementation by taking
small steps, hence my ask for an organization structure like
trello (it's free) and also it would make easier to share the
work.
Feel Free to contact me privately if necessary :)
Best Regards,
Jerome KASPER
--
You received this message because you are subscribed to the Google Groups "NuttX" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nuttx/e93eca5a-31ef-4e31-b895-640118cbc02e%40googlegroups.com.
On the surface, I think that the OpenMCAPI port would simply amount to
re-implementing the OpenMCAPI Linux drivers to run in NuttX. Those
Linux Drivers are dual license GPL/BSD so probably could not come into
the OS directly; they would need to be re-implemented to avoid any
possibility of GPL taint. I don't even want those three letters
together in any file in the repository.
> Obviously I have to weigh the potential benefits of this second core
> against the up-front investment in time, headache, $$$, etc.
I would avoid the complexity unless it is necessary to the solution.
In other asymmetric multi-core solutions that I have looked at, one core
is specialize to have very low power consumption (hence, usually an
M0+). So in very low power modes you just shut down the big pig CPU
during IDLE times and let the low power CPU take charge.
The M4 in the H7 powers doesn't seem like such a good choice for lower
power. Perhaps it has some other intended usage.
--
You received this message because you are subscribed to the Google Groups "NuttX" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nuttx/94461294-79d2-65e8-8a45-d61ac441b0be%40gmail.com.
> > Please push your changes to mainline
>
> I agree!
Since the NuttX OpenAMP changes have been submitted upstream, we do need
to let the OpenAMP team decide how best to deliver their solution. With
Linux, for example, the Linux drivers are provided by OpenAMP. I
believe that an embedded solution would have to handled differently.
Providing those matching drivers within NuttX would be the most straight
forward way to do that.
But hosting the driver-related components in NuttX also raises issues of
versioning and how OpenAMP can make improvements in their solution if
they are so coupled to NuttX internals.
You did a great job Xiang. I'm very happy and thankful that it
has been done. Hope this could be merged in NuttX Mainline in a
near future with Gregory approval of course. I didn't expected
this to be implemented such quickly.
My best greetings and thanks for sharing the associated code. I
hope to test this out soon. Will give feedback for sure.
Kind Regards,
Jerome Kasper
--
You received this message because you are subscribed to the Google Groups "NuttX" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nuttx/d34a4915-bde6-449e-9b32-019f28a0cfbd%40googlegroups.com.
This all sounds good. Who wants to take the responsibility of getting
the NuttX portions into the repository? Xiao Xiang has already made the
code available in the GitHub repository that he referenced, perhaps
someone else should work up the NuttX patch?
I peeked at a few of the files: They have BSD licensing and appear to
follow the NuttX coding standard (but running tools/nxstyle is always
recommended).
> 1.RTOS need implement some callback defined by remoteproc layer ...
Of course, we can't really do callbacks from the OS. In PROTECTED modes
that would be a security hole. In kernel mode, it is very difficult to
setup.
I hope you are talking about an IOCTL call, such as with the framebuffer
driver. You call the ioctl() and it returns the address of the
framebuffer (mapped into user space as appropriate).
On 31/10/2019 18:39, Gregory Nutt wrote:
> This all sounds good. Who wants to take the responsibility of getting
> the NuttX portions into the repository? Xiao Xiang has already made
> the code available in the GitHub repository that he referenced,
> perhaps someone else should work up the NuttX patch?
>
> I peeked at a few of the files: They have BSD licensing and appear to
> follow the NuttX coding standard (but running tools/nxstyle is always
> recommended).
I'm surely not not the most experimented to do that but i can give it a
try as I wanted to fiddle with OpenAMP. It would be a great exercise for
me . Anyone wanting to join the effort is welcome to make him known :)
I'm all open to team work ! Xiang , if you were already on the way,
feel free to share me some work.
Looking at the code, I am wondering if this is too specific to Xiaomi's
application. This includes a lot of specific logic to remote things
like time, RTC, file system access, and networking to different CPUs.
Would that be a general capability needed by all OpenAMP applications?
I think that answer is that that RPC infrastructure would be used by
many, but not all OpenAMP architectures. I hope that the individual RPC
servers can be controlled with Kconfig options so that it can be
tailored to any application.
>> Now our code is very stable, but we aren't starting to upstream the
>> code to NuttX.
>> It's great if you can port the code to your platform and verify our
>> solution is general enough to support the different hardware.
>> We can work together to upstream the code.
>
> I will create a branch and bring the files that Xiang mentioned in a
> previous post. Can I list you (Xiao Xiang) as the author of the files?
>
> I will let you know when the branch is in place.
The branch is in place and initially populated with the list of files
provided by Xiang in a previous email (including the additional
*rpmsg*.* files that he mentions. The initial commit is just those
files alone and cannot even be built until the corresponding changes to
the Kconfig and Make.defs files in the affected directories.
See https://bitbucket.org/nuttx/nuttx/branch/OpenAMP
Looking at the code, I am wondering if this is too specific to Xiaomi's
application. This includes a lot of specific logic to remote things
like time, RTC, file system access, and networking to different CPUs.
Would that be a general capability needed by all OpenAMP applications?
I think that answer is that that RPC infrastructure would be used by
many, but not all OpenAMP architectures. I hope that the individual RPC
servers can be controlled with Kconfig options so that it can be
tailored to any application.
Greg
Hi, Xiang,
Thanks for input this it is always helpful.
There are three different categories:
1.Xiaomi specfic driver, we don't need port:
include/nuttx/misc/misc_rpmsg.h
drivers/misc/misc_rpmsg.c
I have removed these from the branch
The branch is in place and initially populated with the list of files
provided by Xiang in a previous email (including the additional
*rpmsg*.* files that he mentions. The initial commit is just those
files alone and cannot even be built until the corresponding changes to
the Kconfig and Make.defs files in the affected directories.
See https://bitbucket.org/nuttx/nuttx/branch/OpenAMP
I'm all in for the integration and tests . I will try several OpenAMP
tests between various boards (Discovery STM32F4+STM32F7/ Flip and click
PIC32) and will report. Does using the CAN bus for rpmsg communications
as a start sounds like a good idea ?
I think I recall Xiang saying that is required a shared memory interface. A multicore i.MX6 or two simulator processes would be a better bet if that is the correct understanding.
As mentionned in the previous email i will do that . Will work on
those 2 tasks this weekend. Real life tests might take a bit
longer.
Thanks for giving me that opportunity :)
Regards,
Jerome
Greg--
You received this message because you are subscribed to the Google Groups "NuttX" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nuttx/702eca7f-3fbd-4764-a93b-20552bd1874c%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "NuttX" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nuttx/5dbcc9bf.1c69fb81.8225e.1b6a%40mx.google.com.
I have some memory chips hanging around and adapters to solder them, i could try to set a configuration with "shared memory" setup. That said , it's obvious that a two simulator process would be a better start. I will do that first.
Greg could you advice me a "low cost" I.MX6 board ? I'll be able to afford one next month . ( I saw that one https://fr.aliexpress.com/item/32807969666.html , can probably contact manufacturer for schematics)
There are over lower cost architectures you could consider. Such as the LPC43.
We should wait to see if Xiang can verify the minimal interface requirements. I might be mistaken since I know nothing about OpenAMP.
I suspect that you may be grossly under-estimating the level of effort required to do any of the options that you proposing. Possibly man months of effort and of very high complexity. Are you sure you are up for this?
I have some memory chips hanging around and adapters to solder them, i could try to set a configuration with "shared memory" setup. That said , it's obvious that a two simulator process would be a better start. I will do that first.
Greg could you advice me a "low cost" I.MX6 board ? I'll be able to afford one next month . ( I saw that one https://fr.aliexpress.com/item/32807969666.html , can probably contact manufacturer for schematics)
There are over lower cost architectures you could consider. Such as the LPC43.
We should wait to see if Xiang can verify the minimal interface requirements. I might be mistaken since I know nothing about OpenAMP.
I suspect that you may be grossly under-estimating the level of effort required to do any of the options that you proposing. Possibly man months of effort and of very high complexity. Are you sure you are up for this?
--
You received this message because you are subscribed to the Google Groups "NuttX" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nuttx/5dbcdf49.1c69fb81.57a87.4ba1%40mx.google.com.
I have some memory chips hanging around and adapters to solder them, i could try to set a configuration with "shared memory" setup. That said , it's obvious that a two simulator process would be a better start. I will do that first.
Greg could you advice me a "low cost" I.MX6 board ? I'll be able to afford one next month . ( I saw that one https://fr.aliexpress.com/item/32807969666.html , can probably contact manufacturer for schematics)
There are over lower cost architectures you could consider. Such as the LPC43.
We should wait to see if Xiang can verify the minimal interface requirements. I might be mistaken since I know nothing about OpenAMP.
I suspect that you may be grossly under-estimating the level of effort required to do any of the options that you proposing. Possibly man months of effort and of very high complexity. Are you sure you are up for this?
I tried a test build and I get this error many times:
nuttx/include/nuttx/rptun/openamp.h:44:30: fatal error:
openamp/open_amp.h: No such file or directory
My guess is that there must be some missing installation of OpenAMP
header files at include/openamp/. Is that right? I don't see any
reference to openamp/ in any .gitignore files. I expected to see that
in include/.gitignore. Is there documentation about that?
Greg
With the reorganization of the boards/ directory there is no a place for architecture specific, common code. Look how Alin did that in boards/arm/cxd56xx directory: There are directories there to hold common code and chip-specific drivers. Perhaps we could use that structure here too?
I tried a test build and I get this error many times:
nuttx/include/nuttx/rptun/openamp.h:44:30: fatal error:
openamp/open_amp.h: No such file or directory
My guess is that there must be some missing installation of OpenAMP
header files at include/openamp/. Is that right? I don't see any
reference to openamp/ in any .gitignore files. I expected to see that
in include/.gitignore. Is there documentation about that?
Yes, Makefile will install openamp/libmetal header file to include folder, but we put Makefile into openamp/libmetal git.Since multiple git get invovled here, it's better to use repo to get all source code:repo init -u g...@github.com:FishsemiCode/manifest.git -b u1 -m u1.xmlrepo sync
I am making some progress, but still no clean build. Here are the steps that I did:
Get repositories
git clone https://github.com/FishsemiCode/open-amp.git open-amp
git clone https://github.com/FishsemiCode/libmetal.git libmetal
Copy header files:
719 cp -a libmetal/lib nuttx/include/metal
724 cp -a open-amp/lib/include/openamp/ nuttx/include/openamp
Copy source directories
738 cp -a open-amp nuttx/openamp/open-amp
738 cp -a libmetal nuttx/openamp/libmetal
When I try to build, I get this error:
make[1]: Entering directory
'/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/openamp'
gcc: warning: ./Makefile: linker input file unused
because linking not done
In file included from
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/metal/condition.h:15:0,
from
./libmetal/lib/system/nuttx/condition.c:12:
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/metal/mutex.h:22:49:
fatal error: metal/system/@PROJECT_SYSTEM@/mutex.h: No such file
or directory
compilation terminated.
ERROR: gcc failed: 1
command: gcc -M -Wall -Wstrict-prototypes -Wshadow
-Wundef -g -fno-builtin -I. -isystem
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include
-D__KERNEL__ -pipe -DMETAL_INTERNAL
./libmetal/lib/system/nuttx/condition.c
make[1]: *** [Makefile:70: .depend] Error 1
make[1]: Leaving directory
'/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/openamp'
Yech.. Cmake.
I am making some progress, but still no clean build. Here are the steps that I did:
Get repositories
git clone https://github.com/FishsemiCode/open-amp.git open-amp
git clone https://github.com/FishsemiCode/libmetal.git libmetal
Copy header files:
cp -a libmetal/lib nuttx/include/metal
cp -a open-amp/lib/include/openamp/ nuttx/include/openamp
Copy source directories
cp -a open-amp nuttx/openamp/open-amp
cp -a libmetal nuttx/openamp/libmetal
I worked around the build problems with this kludge:
find nuttx/include/metal -name "*.h" | xargs sed -i -e "s/@PROJECT_SYSTEM@/nuttx/g"
find nuttx/include/metal -name "*.h" | xargs sed -i -e "s/@PROJECT_PROCESSOR@/x86_64/g"
I know that is not correct, but it lets me continue testing. I am first trying to get the drivers/ to build. Most things build now but here are the things that still need to be cleaned up:
CC: rptun/rptun.c
In file included from /cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/open_amp.h:13:0,
from /cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/nuttx/rptun/openamp.h:44,
from rptun/rptun.c:45:
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:163:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:203:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:228:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:356:10: error: variably modified ‘algo’ at file scope
uint8_t algo[B2C(16)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:357:10: error: variably modified ‘chksum’ at file scope
uint8_t chksum[B2C(64)];
^
In file included from rptun/rptun.c:46:0:
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/nuttx/rptun/rptun.h:264:1: error: requested alignment is not an integer constant
};
^
The above errors are all due to the B2C macro that does not exist
in NuttX (see below).
rptun/rptun.c: In function ‘rptun_thread’:
rptun/rptun.c:179:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
priv = (FAR struct rptun_priv_s *)atoi(argv[1]);
^
rptun/rptun.c: In function ‘rptun_initialize’:
rptun/rptun.c:807:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
itoa((int)priv, str, 10);
These need to be fixed too. The assumption is that a pointer
will fit in a type int. That is not correct. On 64-bit CPUs
(such as the host NuttX simulation), sizof(int) is 32-bits but a
pointer is 64-bits. The above code will NOT work on the simulator
and needs to be fixed
and
CC: serial/uart_rpmsg.c
In file included from /cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/open_amp.h:13:0,
from /cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/nuttx/rptun/openamp.h:44,
from serial/uart_rpmsg.c:49:
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:163:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:203:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:228:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:356:10: error: variably modified ‘algo’ at file scope
uint8_t algo[B2C(16)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:357:10: error: variably modified ‘chksum’ at file scope
uint8_t chksum[B2C(64)];
^
serial/uart_rpmsg.c: In function ‘uart_rpmsg_dmasend’:
serial/uart_rpmsg.c:263:11: warning: implicit declaration of function ‘C2B’ [-Wimplicit-function-declaration]
space = C2B(space - sizeof(*msg));
^
serial/uart_rpmsg.c:272:7: warning: implicit declaration of function ‘cmem2bmem’ [-Wimplicit-function-declaration]
cmem2bmem(msg->data, 0, xfer->buffer, xfer->length);
^
serial/uart_rpmsg.c:273:29: warning: implicit declaration of function ‘B2C_OFF’ [-Wimplicit-function-declaration]
cmem2bmem(msg->data + B2C_OFF(xfer->length), B2C_REM(xfer->length),
^
serial/uart_rpmsg.c:273:52: warning: implicit declaration of function ‘B2C_REM’ [-Wimplicit-function-declaration]
cmem2bmem(msg->data + B2C_OFF(xfer->length), B2C_REM(xfer->length),
^
serial/uart_rpmsg.c: In function ‘uart_rpmsg_dmareceive’:
serial/uart_rpmsg.c:304:7: warning: implicit declaration of function ‘bmem2cmem’ [-Wimplicit-function-declaration]
bmem2cmem(xfer->buffer, msg->data, 0, xfer->length);
^
make[1]: [Makefile:122: uart_rpmsg.o] Error 1 (ignored)
The above errors are again due to the B2C macro that does not exist in NuttX (see below). And
In file included from /cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/open_amp.h:13:0,
from /cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/nuttx/rptun/openamp.h:44,
from syslog/syslog_rpmsg_server.c:44:
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:163:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:203:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:228:10: error: variably modified ‘name’ at file scope
uint8_t name[B2C(32)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:356:10: error: variably modified ‘algo’ at file scope
uint8_t algo[B2C(16)];
^
/cygdrive/d/Spuda/Documents/projects/nuttx/master/nuttx/include/openamp/remoteproc.h:357:10: error: variably modified ‘chksum’ at file scope
uint8_t chksum[B2C(64)];
^
make[1]: [Makefile:122: syslog_rpmsg_server.o] Error 1 (ignored)
The above errors are all due to the B2C macro that does not exist in NuttX
The biggest issue preventing a clean build now the the various macros added to included/strings.h and to include/nuttx/mm/mm.h, all with the naming B2C or C2B. These are apparently added to handle cases where is character is larger than one byte. My gut feeling is that strings.h is not the correct place to put these since they are non-standard. Perhaps they should go in include/nuttx/b2c.h and then be included in strings.h?
What do you think?
Greg
... Most things build now but here are the things that still need to be cleaned up: ...
rptun/rptun.c: In function ‘rptun_thread’:
rptun/rptun.c:179:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
priv = (FAR struct rptun_priv_s *)atoi(argv[1]);
^
rptun/rptun.c: In function ‘rptun_initialize’:
rptun/rptun.c:807:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
itoa((int)priv, str, 10);These need to be fixed too. The assumption is that a pointer will fit in a type int. That is not correct. On 64-bit CPUs (such as the host NuttX simulation), sizof(int) is 32-bits but a pointer is 64-bits. The above code will NOT work on the simulator and needs to be fixed
This is still a problem and needs to be fixed. So does this one:
hostfs/hostfs_rpmsg.c: In function ‘host_opendir’:
hostfs/hostfs_rpmsg.c:557:27: warning: cast to pointer
from integer of different size [-Wint-to-pointer-cast]
return ret < 0 ? NULL : (FAR void *)ret;
^
I did not try to fix these because there may be design changes
involved. These fixes will be needed for the 64-bit simulation.
The biggest issue preventing a clean build now the the various macros added to included/strings.h and to include/nuttx/mm/mm.h, all with the naming B2C or C2B. These are apparently added to handle cases where is character is larger than one byte. My gut feeling is that strings.h is not the correct place to put these since they are non-standard. Perhaps they should go in include/nuttx/b2c.h and then be included in strings.h?
I did that. I created include/nuttx/b2c.h and included that in strings.h. I copied the functions for the case of CHAR_BIT != 1 into libs/libc/string/. I did not add the changes to mm.h that you have for related B2C definitions. Those were needed yet.
Now everything compiles cleanly (except for openamp/libmetal which still has some configuration/setup that is not right). So I went ahead and merged the branch into master. It does not add any value yet with no testing and with no build instructions, but it now has been completely reviewed and its presence appears to be harmless to the overall health of the system.
We do need to have a simple configuration setup script for
OpenAMP and libmetal. The build.sh script in your build
repository is too focused on your BSP to be usable in the most
general NuttX context. Is that something that you could produce?
I would greatly appreciate that contribution.
I have removed the OpenAMP branch.
Greg
I am making some progress, but still no clean build. Here are the steps that I did:
Get repositories
git clone https://github.com/FishsemiCode/open-amp.git open-amp
git clone https://github.com/FishsemiCode/libmetal.git libmetal
Copy header files:
cp -a libmetal/lib nuttx/include/metal
cp -a open-amp/lib/include/openamp/ nuttx/include/openamp
Copy source directories
cp -a open-amp nuttx/openamp/open-amp
cp -a libmetal nuttx/openamp/libmetalI worked around the build problems with this kludge:
find nuttx/include/metal -name "*.h" | xargs sed -i -e "s/@PROJECT_SYSTEM@/nuttx/g"
find nuttx/include/metal -name "*.h" | xargs sed -i -e "s/@PROJECT_PROCESSOR@/x86_64/g"
I know that is not correct, but it lets me continue testing. I am first trying to get the drivers/ to build. Most things build now but here are the things that still need to be cleaned up:
included in strings.h?
What do you think?
Greg
> To unsubscribe from this group and stop receiving emails from it, send an email to nuttx+unsubscribe@googlegroups.com.
One more patch fix a minor error by 0001-Fix-64bit-build-issue-in-rpmsg-driver.patch
Thanks! But I already fixed that one with the original commit.
Greg
>>
>>> Just talk with AnChao who do the major work on NuttX/OpenAMP, he can
>>> work on the porting in the next week to:
>>> 1.Fix the build break
>> I think the build is clean now EXCEPT that we need a script or some way
>> to configure and setup openamp/libmetal and openamp/open-amp.
> Anchao will finish this work soon.
Could the substitutions from the chip-specific Make.defs be added to
openamp/Makefile?
Perhaps some of the values cound be configuration options selected in
openamp/Kconfig?
On 11/2/2019 2:22 AM, xiang xiao wrote:
Just talk with AnChao who do the major work on NuttX/OpenAMP, he canwork on the porting in the next week to:1.Fix the build break
I think the build is clean now EXCEPT that we need a script or some way to configure and setup openamp/libmetal and openamp/open-amp.
2.Remove Pinecone dependence
You should verify this, but I think I have all of that removed. We need to revisit the clk/regulator logic which I did not bring in and also the chip-specific support. As I mentioned before, I would think that this should go in the boards/ directory in the new infracture that Alin Jerpelea creates for chip common dirvers and logic.
3.Make OpenAMP work on two sim instance
I think that this would require fixing the casts from type int to pointers that I mentioned (or forcing a 32-bit build).
I would be happy to help out AnChao with this part. Since I have brought the code into the master branch, I am completely committed to making this work smoothly.
My understanding is that the communications is performed in application space via the OpenAMP shared memory. The interface to the OS is vie
Greg, how about https://github.com/FishsemiCode/usrsock?
It is a general usrsock implementation which could redirect socket API from one cpu to another through OpenAMP.I think apps/system is a good place.
Yes, I think apps/system is a good place. The only other usrsock implementations are under apps/wireless and apps/examples.
Greg