forked from springcute/rt-thread
40d0ff9960 | ||
---|---|---|
.. | ||
board | ||
driver | ||
Makefile | ||
README.md | ||
application.c | ||
board.c | ||
board.h | ||
bsp_hal.h | ||
cache.c | ||
cache.h | ||
config.h | ||
debug.h | ||
nds32.h | ||
nds32_defs.h | ||
os_cpu_common.h | ||
os_except.c | ||
os_except.h | ||
reset.c | ||
rtconfig.h | ||
start.S | ||
startup.c |
README.md
Andes Maintainer: It's a very early and draft porting yet.
E-Mail : Archer Zhang archer.zhang@wh-mx.com
文件(夹)添加和修改
- 在bsp目录下,添加AE210P目录,这是Andes AE210P EVB(N1068A)的主目录;
- 在libcpu目录下,添加nds32目录,这是Andes N10系列Core的体系目录;
- 由于编译器的原因,修改了finsh.h文件的Line:74 - 75,如下
#if !(defined(__GNUC__) && defined(__x86_64__))
//typedef unsigned int size_t; // 注释这个typedef
#include <stddef.h> // 添加两个头文件包含
#include <string.h>
#else
- 由于串口未使用中断接收,而是使用了查询接收,所以修改了shell.c文件,如下
a. Line:316~317
//rt_device_set_rx_indicate(shell->device, finsh_rx_ind);
//rt_device_open(shell->device, (RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_STREAM | RT_DEVICE_FLAG_INT_RX));
rt_device_open(shell->device, (RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_STREAM));
b. Line:326,注释该行
// if (rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER) != RT_EOK) continue;
c. Line:553,添加CPU占用的释放
rt_thread_delay(1); // 或者rt-schedule();
工程管理
- 该工程使用Makefile管理,Makefile即文件AE210P/Makefile。编译如下:
make APP=rtthread AE210P=1 USING_CLI=1 DEBUG=1 all
make APP=rtthread AE210P=1 USING_CLI=1 DEBUG=1 clean
Tool Chain/IDE
- IDE:AndeSight_V300_STD
这是一个基于Eclipse和GNU、GDB的环境,参阅对应工具/环境的标准文档即可。
关于创建工程和调试,请参阅《Andes工程创建和调试.docx》。
测试目标板(PCBA)
- AE210P EVB