使用SYS/BIOS的NDK工程。 程序首先进行平台的初始化,对系统的时钟、PLL、DDR等进行初始化,对串口0进行初始化,用于调试串口。最后打开一个初始化失败就会在一个while(1)中,闪烁LED灯。:
- Void PlatformInit()
- {
- // 平台初始化
- platform_init_flags Flags;
- platform_init_config Config;
- memset((void *)&Flags, 0, sizeof(platform_init_flags));
- memset((void *)&Config, 0, sizeof(platform_init_config));
- Flags.pll = 0; // 锁相环
- Flags.ddr = 0; // DDR3
- Flags.tcsl = 0; // 时间戳计数器
- Flags.phy = 1; // 以太网
- Flags.ecc = 0; // DDR3 ECC
- Config.pllm = 0;
- // 调试串口初始化
- platform_uart_init(PLATFORM_UART0);
- platform_uart_set_baudrate(PLATFORM_UART0, 115200);
- // 调试信息同时输出到串口和 CCS Console
- platform_write_configure(PLATFORM_WRITE_ALL);
- int status;
- status = platform_init(&Flags, &Config);
- if(status != Platform_EOK)
- {
- platform_write("Platform failed to initialize. Error code %d n", status);
- platform_write("We will fall in an infinite loop... n");
- while(1)
- {
- platform_led(0, PLATFORM_LED_ON, PLATFORM_USER_LED_CLASS);
- platform_delay(1000);
- platform_led(0, PLATFORM_LED_OFF, PLATFORM_USER_LED_CLASS);
- platform_delay(1000);
- }
- }
- }
复制代码
除此之后,就是启动SYSBIOS了。这个main函数是很简单的,因为大部分的程序都是使用cfg文件进行设置的。那就是开启了SYSBIOS由系统自己去调用,调配的了。
这个SYSBIOS和工程使用了NDK,以下是在cfg文件中NDK的配置:
在Web.c中的函数,都是在cfg文件中进行调用的,如下这两个函数,可以在Web.c文件中找到源码。
目前对NDK还不是很熟悉,先进行体验,再一步步的了解。 把程序烧写进C6655,在浏览器中输入ip地址:
可以在网面上控制LED灯的状态。 选中要点亮的LED后,点“确定”后,要输入用户名、密码。
这里要输入用户名、密码
用户名、密码可以在cfg文件中找到 。如下:
输入正确后, 开发板上的LED灯就会亮,LED的控制程序是用CGI和程序写的,最后要转换一下烧到芯片里。
这里由于对于C6655的NDK还不熟悉,后面会对NDK时行一系列的学习。
源程序与二进制文件:
|