Xiang Xiao
763ba51b78
arch/xxx/src/xxx/up_assert.c: Dump CPU0 IDLE stack only when PID equals 0. IDLE threads of other CPUs do not need this special check
2019-01-26 10:59:23 -06:00
ligd
5a6108c172
arch/xxx/src/common/up_initialize.c: Move up_pminitialize() after timer_initialize()
2019-01-26 07:32:14 -06:00
Gregory Nutt
db24306435
arch/assertion logic: Fix additional places where the test for an IDLE task is incorrect. It is not invalid in all configurations to check for PID==0. However, the logic fixed in these places lackes sufficient intelligence to find the right stack for the CPU IDLE thread and could still show the wrong stack.
2018-12-18 17:45:46 -06:00
Gregory Nutt
ec9265aa95
arch assertions: Correct duplicated logic from commit dbf01d12b7
. Checking for PID == zero is not a valid way to test for the IDLE task in all configurations! This is only true in the single CPU configuration. In multiple CPU configurations, there will be a separate IDLE task for each CPU with a different PID.
2018-12-18 17:35:42 -06:00
Gregory Nutt
0af39e1493
arch/: Update all _exit() implementations for all architectures so that they correctly called the scheduler instumentation layer for the new task that runs when the old one exits. This missing instrumentation was confusing the Critical Section Monitor logic with uses this instrumentation to track the state of critical sections.
2018-11-24 18:20:57 -06:00
Gregory Nutt
7a45fc6f1c
arch/arm/src/max326xx: Add framework for MAX326XX standard DMA support.
2018-11-20 08:09:03 -06:00
Xiang Xiao
dbf01d12b7
Assertions: Identify the running task correctly when dumping task state information. It takes time to switch to the target task after g_readytorun has been modified. If panic/assert happen during this period, the dump will contain the incorrect and confusing information due to the difference between the real running task and the return value of this_task(). This change resolve this problem by adding g_running_task to track the real running task through the context switch.
2018-11-15 07:11:51 -06:00
Xiang Xiao
543f4ed8ec
arch/ all assertion functions: up_assert move the register dump to first make the more important info first
2018-11-11 12:53:59 -06:00
Xiang Xiao
dfe788be25
arch/ all assertion functinos: up_stackdump dump the full stack if stack overflow the stack info is very useful to find the backtrace
2018-11-11 12:52:36 -06:00
Xiang Xiao
e4106a3744
arch/ assertions files: up_registerdump capture the general register if not yet saved and up_saveusercontext is implemented, the register dump is very useful to find the cause of failure.
2018-11-11 12:50:50 -06:00
Gregory Nutt
2b3ec4172d
arch/: Add 'BOARD_ASSERT_RESET_VALUE' in config/Kconfig and replace reboot status '0' to 'CONFIG_BOARD_ASSERT_RESET_VALUE'.
2018-11-10 14:06:46 -06:00
Gregory Nutt
511c90d050
arch/x86/src/qemu/qemu_head.S: Correct .bss, IDLE stack, heap organization.
2018-10-26 15:48:22 -06:00
Daniel P. Carvalho
578114a74f
configs/nucleo-l432kc: Added support for AT45DB Serial Flash
2018-10-25 16:12:59 -06:00
dongjianli
19e16cb1ba
up_internal.h: Define out the prototype for up_netinitialize() if CONFIG_NETDEV_LATEINIT is also defined
2018-08-24 14:50:45 -06:00
Xiang Xiao
e1202d2ed3
Replace all ASSERT with DEBUGASSERT to save the code space
2018-08-24 06:58:30 -06:00
Xiang Xiao
467d2a58ea
Replace non critical PANIC with DEBUGPANIC to save the code space
2018-08-24 06:21:15 -06:00
xuanlin
2c93467436
pthreads: Add support static pthread stack. Add standard pthread_attr_setstack() and pthread_attr_getstack(). In all cases where the stack is released, add check to see which allocator must be used to free the stack: The user or the kernel allocator.
2018-08-23 09:49:20 -06:00
Xiang Xiao
a465b6f0d4
configs/: Change CONFIG_BOARD_RESET_ON_CRASH to CONFIG_BOARD_RESET_ON_ASSERT, arch/: Implement call to board_reset() if in all implementations of up_assert() when CONFIG_BOARD_RESET_ON_ASSERT=y.
2018-08-22 17:04:39 -06:00
Gregory Nutt
cba0ddad0e
arch/: Most some common debug configuration settings out of header files and into Kconfig files where they belong.
2018-08-19 14:55:49 -06:00
Gregory Nutt
c790450ba2
Remove CONFIG_ARCH_CALIBRATION. It is awkward to use and no longer necessary now that we have apps/examples/calib_udelay.
2018-08-19 10:06:36 -06:00
Gregory Nutt
a94e3284b3
syslog: Enable is partial, crippled version of syslog_flush(); arch/: Call syslog_flush() from assertion handling logic.
2018-06-07 16:29:16 -06:00
Gregory Nutt
977d41d519
Based on a change recommended by Mark Shulte:
...
Signal handlers maybe run with interrupts enabled or disabled, depending on how the task the received the signal was blocked. (i.e.: If sem_wait() is called, then we disable interrupts, then block the currently running task). This could be dangerous, because user code would be running with interrupts disabled.
This change forces interrupts to be enabled in up_sigdeliver() before executing the signal handler calling up_irq_enable() explicitly. This is safe because, when we return to normal execution, interrupts will be restored to their previous state when the signal handler returns.
2018-06-06 09:54:30 -06:00
Gregory Nutt
f2a89813f2
Build system: Remove fixed lib/ subdirectory and its content. Replace with new directory called staging/ that is created dynamically when building and removed when 'make clean' is done. This both improves the name and eliminates a garbage directory from the repository.
2018-05-29 11:36:21 -06:00
Gregory Nutt
de6b13b3ab
Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and debug wrappers -- does not return a value. Rename _vsyslog to nx_vsyslog. Use internal nx_vsyslog in the few cases where a return value is required.
2018-03-04 08:07:07 -06:00
Gregory Nutt
b4f2b0dfc6
Remove all usage of printf() from the OS. That is not an acceptable context for the use of an application-oriented interface that depends on a task-specific file descriptor and C buffered I/O.
2018-03-03 15:20:21 -06:00
Gregory Nutt
2683f713ab
Make sure that labeling is used consistently in all function headers (part 3).
2018-02-01 12:17:03 -06:00
Gregory Nutt
7cf88d7dbd
Make sure that labeling is used consistently in all function headers.
2018-02-01 10:00:02 -06:00
Gregory Nutt
2043e1a114
IOBs: Move from driver/iob to a better location in mm/iob
2017-05-09 07:35:30 -06:00
Gregory Nutt
87a4181ba3
cosmetic changes
2017-04-29 09:30:17 -06:00
Gregory Nutt
b6b16bf4da
Fix forward references that were mangled in last large changes.
2017-04-29 06:59:35 -06:00
Sebastien Lorquet
c70d797229
misc archs
2017-04-28 18:24:06 +02:00
Gregory Nutt
a55e937643
Correct mispelling
2017-04-22 17:03:34 -06:00
Gregory Nutt
bfb93338f6
Move net/iob to drivers/iob so that the I/O buffering feature can be available to other drivers when networking is disabled.
2017-04-20 16:08:49 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
1d290c2b37
setvbuf: Add support for disabling I/O buffering. Initially cut; untested.
2017-02-09 09:24:44 -06:00
Gregory Nutt
62a1f6f110
up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list.
2017-02-07 10:35:04 -06:00
Gregory Nutt
b656e371d3
ELF: Move sim and x86 ARM versions of ELF relocation logic to libc/machine
2017-01-21 15:40:51 -06:00
Gregory Nutt
3ed091376c
In all implementations of _exit(), use enter_critical_section() vs. disabling local interrupts.
2017-01-13 11:08:24 -06:00
Aleksandr Vyhovanec
bf528f2071
packed_struct replaced by begin_packed_struct and end_packed_struct
2017-01-09 14:17:49 +03:00
Paul A. Patience
912fe06a86
Add architecture-specific inttypes.h
2016-10-27 16:01:38 -04:00
Gregory Nutt
d41008e220
Update some header commments
2016-08-06 18:16:31 -06:00
Gregory Nutt
e897ccb940
Rename x86 QEMU version of CONFIG_GPIO_IRQ to CONFIG_QEMU_GPIOIRQ
2016-07-22 14:54:00 -06:00
Gregory Nutt
4b4dbc79a2
Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h
2016-07-20 13:15:37 -06:00
Gregory Nutt
d5388eca05
devrandom_register() must be called before devurandom_register()
2016-07-18 11:24:04 -06:00
Gregory Nutt
1660329d06
Rename up_rnginitialize to devrandom_register
2016-07-18 10:55:37 -06:00
David Alessio
6cefbc0c3f
This change provides an option to add /dev/urandom to all architectures. The pseudo-random algorithm I choose strikes an arguably-good balance between being "random" and small/fast enough for 8/16 bit MCUs. It’s the well-documented xorshift128 algorithm. It has an internal state of 128 bits that can be [re-]seeded with a write.
2016-07-17 06:42:26 -06:00
Gregory Nutt
873f1f6da5
Merged in HeathPetersen/nuttx (pull request #102 )
...
EXEEXT only needs to be appended once
2016-07-15 17:11:22 -06:00
Heath Petersen
c57672aeab
EXEEXT only needs to be appended once
2016-07-15 17:50:00 -05:00
Gregory Nutt
7b298a828d
up_pminitialize() needs to be called from instances of up_initialize()
2016-07-15 13:11:28 -06:00
Gregory Nutt
d3b3c71d97
All architectures: Add logic to automatically register /dev/ptmx a boot time
2016-07-15 11:54:41 -06:00