本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
1. git下载
git init
git fetch http://...m
git merge FETCH_HEAD
git branch 查看仓库分支
* master
git checkout master
2. 新建项目
新唐原来包里有个小BUG,
启动env, 进入bsp/nuvoton/nk-980iot
scons --dist
生成的dist目录可以复制到任何地方进行开发
启动env
进入bsp/nuvoton/nk-980iot
menuconfig
pkgs --update
scons 直接编译
scons --target=mdk 生成keil项目,然后keil中要选 gnu extension
如果用KEIL5编译,还要修改cpuport.c的第21行,如下图:
3. 移植freemodbus
添加tcpserver、freemodbus软件包。
freemodbus配置,这儿选了TCP slave
tcpserver.c中需要增加两个头文件
#include <sys/errno.h>
#include <sys/ioctl.h>
nuc980.h中有几个定义冲突需要修改
// typedef char BOOL; ///< Define bool data type
// typedef char *PBOOL; ///< Define bool pointer data type
#ifndef BOOL
typedef unsigned char BOOL; ///< Define bool data type
#endif
typedef BOOL *PBOOL; ///< Define bool pointer data type
//#define TRUE (1) ///< Boolean true, define to use in API parameters or return value
//#define FALSE (0) ///< Boolean false, define to use in API parameters or return value
#ifndef TRUE
#define TRUE (1) ///< Boolean true, define to use in API parameters or return value
#endif
#ifndef FALSE
#define FALSE (0) ///< Boolean false, define to use in API parameters or return value
#endif
4. 移植uffs
文件系统需要RTC,但需注意的一点是,如果没有硬件RTC,一定不激活nu的rtc驱动,否则会导致启动就死机。可以启用软件RTC。