(赤焰剑C-SKY)2-HelloWorld

作者:cp
时间:2019-05-13
申明:本文一些素材取自网络,归原作者所有

写在前面

开发环境配置完成后进入开发步骤,以经典HelloWorld入门,学习包含OS和无OS的工程应用

1.新建工作空间

  • 打开CDK,点击New Multi-Project Workspace
    (赤焰剑C-SKY)2-HelloWorld
  • 填写工作空间名称及路径
    (赤焰剑C-SKY)2-HelloWorld
    完成后可得:
    (赤焰剑C-SKY)2-HelloWorld

2.工程应用1

2.1 新建IOT工程(with AliOS)

  • 工作空间右击,选择Create New IOT Project...
    (赤焰剑C-SKY)2-HelloWorld
  • 选择HelloWorld演示方案
    (赤焰剑C-SKY)2-HelloWorld
  • 设置工程名并选中下面helloworld
    (赤焰剑C-SKY)2-HelloWorld
    完成后可得:
    (赤焰剑C-SKY)2-HelloWorld

2.2 编译

  • 编译工程(快捷键:F7)
    (赤焰剑C-SKY)2-HelloWorld

2.3 烧写

2.3.1 CDK

目前在CDK环境下IOT工程烧写会报如下错误,未解决,如有正确方法请告知,谢谢
(赤焰剑C-SKY)2-HelloWorld

2.3.2 CSKYFlashProgrammer.exe

  • 选择$(ProjectPath)generated/total_image.hex烧写
    (赤焰剑C-SKY)2-HelloWorld

2.4 运行

  • 按下复位按键&串口输出
boot1.1
Tee v2.0.1 Initliaze done, Dec 19 2018 11:44:54
Welcome to CLI...
> [     0.307815][I][app     ]hello world!

2.5 调试

  • 设置断点,调试(快捷键:Ctrl+F5)
    (赤焰剑C-SKY)2-HelloWorld

3.工程应用2

3.1 新建普通工程(without RTOS)

  • 工作空间右击,选择Create New Project...
    (赤焰剑C-SKY)2-HelloWorld
  • 设置工程名并选中下面CSKY SOC -> CB2201 BareMetal
    (赤焰剑C-SKY)2-HelloWorld
    完成后可得:
    (赤焰剑C-SKY)2-HelloWorld

3.2 **工程

  • 工程右击,选择Set As Active (double click)
    (赤焰剑C-SKY)2-HelloWorld

3.3 编译

  • 编译工程(快捷键:F7)
    (赤焰剑C-SKY)2-HelloWorld

3.4 烧写

3.4.1 CDK

CDK环境下普通工程直接烧写成功

3.4.2 CSKYFlashProgrammer.exe

  • 选择elf烧写
    (赤焰剑C-SKY)2-HelloWorld

3.5 运行

  • 按下复位按键&串口输出
hello world!

3.6 调试

同上

4 说明

  • 在IOT工程中,在app_main函数中有显示调用board_yoc_init,所以开发板资源得到初始化后续可以使用
  • 在普通工程中,在main函数中直接printf,似乎没有初始化串口,但是也输出了信息,经查找是工程目录下csi_driver/ch2201/startup.S中在jbsr main之前有jbsr board_init,而board_init(board/cb2201/board_init.c)中初始化了串口,所以main函数中能直接printf

参考

[1]https://cop.c-sky.com/doc/zh-cn/tutorial/quick_start_of_YoC.html
[2]https://cop.c-sky.com/doc/zh-cn/tutorial/helloworld.html