summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/nuclei/hbird_eval/README.md50
-rw-r--r--bsp/nuclei/hbird_eval/SConscript2
-rw-r--r--bsp/nuclei/hbird_eval/applications/main.c86
-rw-r--r--bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.c2
4 files changed, 32 insertions, 108 deletions
diff --git a/bsp/nuclei/hbird_eval/README.md b/bsp/nuclei/hbird_eval/README.md
index c4210cac8e..6664ed5a32 100644
--- a/bsp/nuclei/hbird_eval/README.md
+++ b/bsp/nuclei/hbird_eval/README.md
@@ -94,16 +94,16 @@ Nuclei OpenOCD, i386 Open On-Chip Debugger 0.10.0+dev-g11f0cf429 (2020-07-15-04:
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
-rt_thread_idle_entry (parameter=<optimized out>) at D:\workspace\Sourcecode\rt-thread\src\idle.c:249
-249 for (i = 0; i < RT_IDLE_HOOK_LIST_SIZE; i++)
+rt_list_insert_before (n=0xdeadbeef, l=0x90000f80 <timer_thread_stack+464>) at D:\workspace\Sourcecode\rt-thread\include/rtservice.h:79
+79 n->next = l;
cleared protection for sectors 0 through 63 on flash bank 0
Loading section .init, size 0x284 lma 0x80000000
-Loading section .text, size 0xb57e lma 0x800002c0
-Loading section .rodata, size 0x3248 lma 0x8000b840
-Loading section .data, size 0x350 lma 0x8000ea88
-Start address 0x80000198, load size 60826
-Transfer rate: 49 KB/sec, 10137 bytes/write.
+Loading section .text, size 0xb30a lma 0x800002c0
+Loading section .rodata, size 0x3248 lma 0x8000b5d0
+Loading section .data, size 0x340 lma 0x8000e818
+Start address 0x80000198, load size 60182
+Transfer rate: 48 KB/sec, 10030 bytes/write.
shutdown command invoked
A debugging session is active.
@@ -140,12 +140,10 @@ msh />
msh />ps
thread pri status sp stack size max used left tick error
-------- --- ------- ---------- ---------- ------ ---------- ---
-thread01 19 suspend 0x00000158 0x0000018c 87% 0x00000005 000
-thread00 19 suspend 0x00000158 0x0000018c 87% 0x00000005 000
-tshell 20 running 0x00000258 0x00001000 18% 0x00000004 000
-tidle0 31 ready 0x000000a8 0x0000018c 59% 0x0000000e 000
-timer 4 suspend 0x000000f8 0x00000200 49% 0x00000009 000
-main 10 suspend 0x00000168 0x00000800 36% 0x00000006 000
+serrxsim 5 suspend 0x00000134 0x0000018c 77% 0x00000005 000
+tshell 20 running 0x000002b0 0x00001000 17% 0x00000005 000
+tidle0 31 ready 0x00000164 0x0000018c 89% 0x0000000b 000
+timer 4 suspend 0x00000120 0x00000200 56% 0x00000009 000
msh />
~~~
@@ -182,26 +180,26 @@ Nuclei OpenOCD, i386 Open On-Chip Debugger 0.10.0+dev-g11f0cf429 (2020-07-15-04:
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
-0x0000000080000f14 in _has_defunct_thread () at D:\workspace\Sourcecode\rt-thread\src\idle.c:153
-153 while (_has_defunct_thread())
+0x0000000080000e80 in rt_thread_idle_entry (parameter=<optimized out>)
+ at D:\workspace\Sourcecode\rt-thread\src\idle.c:253
+253 idle_hook_list[i]();
(gdb) load
Loading section .init, size 0x284 lma 0x80000000
-Loading section .text, size 0xb57e lma 0x800002c0
-Loading section .rodata, size 0x3248 lma 0x8000b840
-Loading section .data, size 0x350 lma 0x8000ea88
-Start address 0x80000198, load size 60826
-Transfer rate: 48 KB/sec, 10137 bytes/write.
+Loading section .text, size 0xb30a lma 0x800002c0
+Loading section .rodata, size 0x3248 lma 0x8000b5d0
+Loading section .data, size 0x340 lma 0x8000e818
+Start address 0x80000198, load size 60182
+Transfer rate: 49 KB/sec, 10030 bytes/write.
(gdb) b main
-Breakpoint 1 at 0x800002c0: file applications\main.c, line 95.
+Breakpoint 1 at 0x800002c0: file applications\main.c, line 35.
(gdb) c
Continuing.
-Breakpoint 1, main () at applications\main.c:95
-95 board_gpio_init();
+Breakpoint 1, main () at applications\main.c:35
+35 board_serial_init();
(gdb) n
-96 create_thread_demo();
-(gdb) n
-99 board_serial_init();
+rt_thread_exit () at D:\workspace\Sourcecode\rt-thread\src\thread.c:277
+277 return rt_current_thread;
(gdb) c
Continuing.
~~~
diff --git a/bsp/nuclei/hbird_eval/SConscript b/bsp/nuclei/hbird_eval/SConscript
index 014c428d0a..20f7689c53 100644
--- a/bsp/nuclei/hbird_eval/SConscript
+++ b/bsp/nuclei/hbird_eval/SConscript
@@ -7,8 +7,6 @@ cwd = GetCurrentDir()
objs = []
list = os.listdir(cwd)
-ASFLAGS = ' -I' + cwd
-
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
diff --git a/bsp/nuclei/hbird_eval/applications/main.c b/bsp/nuclei/hbird_eval/applications/main.c
index 0fe26c049b..be57f97b1e 100644
--- a/bsp/nuclei/hbird_eval/applications/main.c
+++ b/bsp/nuclei/hbird_eval/applications/main.c
@@ -5,84 +5,25 @@
*
* Change Logs:
* Date Author Notes
- * 2019-07-23 tyustli first version
+ * 2020-09-02 hqfang first version
*/
#include <rtthread.h>
#include <rtdevice.h>
#include <nuclei_sdk_hal.h>
-#define THREAD_PRIORITY 19
-#define THREAD_STACK_SIZE 396
-#define THREAD_TIMESLICE 5
-#define THREAD_NUM 2
-// #define APP_DEBUG_PRINT
-
-/* Align stack when using static thread */
-ALIGN(RT_ALIGN_SIZE)
-static rt_uint8_t thread_stack[THREAD_NUM][THREAD_STACK_SIZE];
-static struct rt_thread tid[THREAD_NUM];
-
-/* Thread entry function */
-static void thread_entry(void *parameter)
-{
- rt_uint32_t count = 0;
-
- while (1) {
-#ifdef APP_DEBUG_PRINT
- rt_kprintf("thread %d count: %d\n", (rt_uint32_t)parameter, count++);
-#endif
- rt_thread_mdelay(500);
- if (((uint32_t)parameter) % 2) {
- gpio_toggle(GPIO, SOC_LED_BLUE_GPIO_MASK);
- } else {
- gpio_toggle(GPIO, SOC_LED_GREEN_GPIO_MASK);
- }
- }
-}
-
-/* Thread demo */
-int create_thread_demo(void)
-{
- int i;
- static char tname[9] = "thread";
-
- for (i = 0; i < THREAD_NUM; i ++) {
- /* Create static threads */
- tname[6] = i/10 + '0';
- tname[7] = i%10 + '0';
- tname[8] = '\0';
- rt_thread_init(&tid[i], tname, thread_entry, (void *)i, thread_stack[i],
- THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);
- }
-
- /* Startup threads */
- for (i = 0; i < THREAD_NUM; i ++) {
- rt_thread_startup(&tid[i]);
- }
-
- return 0;
-}
-
-void board_gpio_init(void)
-{
- gpio_enable_input(GPIO, SOC_BUTTON_GPIO_MASK);
- gpio_set_pue(GPIO, SOC_BUTTON_GPIO_MASK, GPIO_BIT_ALL_ONE);
-
- gpio_enable_output(GPIO, SOC_LED_GPIO_MASK);
- gpio_write(GPIO, SOC_LED_GPIO_MASK, GPIO_BIT_ALL_ZERO);
-}
-
#ifdef RT_USING_SERIAL
-
-#define SERIAL_THREAD_STACK_SIZE 396
+/* Currently UART IRQ is not connected,
+ * So I use task to interact with uart input
+ */
+#define SERIAL_THREAD_STACK_SIZE 396
static rt_uint8_t serial_stack[SERIAL_THREAD_STACK_SIZE];
static struct rt_thread serial_tid;
-extern void rt_hw_serial_thread_entry(void *parameter);
+extern void rt_hw_serial_rcvtsk(void *parameter);
void board_serial_init(void)
{
- rt_thread_init(&serial_tid, "serrxsim", rt_hw_serial_thread_entry,
+ rt_thread_init(&serial_tid, "serrxsim", rt_hw_serial_rcvtsk,
(void *)NULL, serial_stack, SERIAL_THREAD_STACK_SIZE, 5, 5);
rt_thread_startup(&serial_tid);
}
@@ -90,22 +31,9 @@ void board_serial_init(void)
int main(void)
{
- rt_uint32_t count = 0;
-
- board_gpio_init();
- create_thread_demo();
-
#ifdef RT_USING_SERIAL
board_serial_init();
#endif /* RT_USING_SERIAL */
-
- while (1) {
-#ifdef APP_DEBUG_PRINT
- rt_kprintf("Main thread count: %d\n", count++);
-#endif
- rt_thread_mdelay(1000);
- gpio_toggle(GPIO, SOC_LED_RED_GPIO_MASK);
- }
}
/******************** end of file *******************/
diff --git a/bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.c b/bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.c
index ea01d03c9b..038ed0f0e9 100644
--- a/bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.c
+++ b/bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.c
@@ -219,7 +219,7 @@ int rt_hw_uart_init(void)
return result;
}
-void rt_hw_serial_thread_entry(void *parameter)
+void rt_hw_serial_rcvtsk(void *parameter)
{
struct hbird_uart_config *uart_cfg;