Comments (2)
Hello @liyinbo
We discussed this with my colleagues some 3 or 4 years ago, but we didn't pursue it because we didn't have the time to devote to it. From memory, the main ideas were as follows:
- Each core is a posix thread and are created in the StartCore service and at start for core 0. An array indexed by the core ID stores the pthread_t for each core;
- Entry point is set to a different function than main. This function creates the core 0 thread and runs it with main;
- After creating core 0 thread, the main thread runs Viper, which is no longer in a separate process; That way it can target the threads emulating cores using
pthread_kill
; - Spinlocks are emulated with their POSIX equivalent
It would be a nice project for a Master degree student in computer science.
from trampoline.
Thank you very much for your contributions. It seems that supporting Multi-core would require a change in the architecture of Viper, and there is a lot of work involved in this.I will close this issue.
from trampoline.
Related Issues (20)
- examples HOT 5
- Trampoline with IDE (KeilC/IAR) HOT 5
- Readbutton_isr example, (osConst) conflict with (osVar) HOT 2
- [Question] Does the context switch routine have consider "Pendsv" handler? HOT 4
- Le cas de communication samd21 et raspberry ne fonctionne pas HOT 18
- sprintf
- [RFC] CAN and CAN FD stack HOT 5
- [examples] [posix] [ioc] incorrect format specifier
- [os] [tpl_os_timeobj_kernel] Uninitialized variable
- Unbounded write by strcpy HOT 2
- [templates] Invalid linker script generation when using AUTOSAR Application
- ARM Cortex directories naming HOT 10
- How can i generate c file from oil config file ? HOT 3
- Multiple POSIX targets HOT 6
- Example build issue : Teensy 3.1 isr1onFTM HOT 4
- Example build issue : Teensy 3.1 isr2onExternalInterrupt HOT 1
- Example build issue : Teensy 3.1 isr2onPIT HOT 1
- porting TI TM4C123 HOT 9
- Porting to SMT32G0 HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from trampoline.