0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【合宙Air105开发板试用体验】开发环境搭建

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-12-02 14:35 次阅读
本文来源电子发烧友社区,作者:卢松涛, 帖子地址:https://bbs.elecfans.com/jishu_2286300_1_1.html

非常感谢发烧友论坛和上海合宙通信科技有限公司 为我和孩子提供此产品合宙Air105开发板感谢大佬们的指导。

合宙Air105开发板是一款由上海合宙通信科技有限公司 LuatOS-SoC开发板,如果使用厂家提供的合宙LuatOS固件和LuaTools下载软件,可以用任何文本编辑软件开发使用此Air105开发板。
LuatOS:
LuatOS是一款针对嵌入式的脚本运行框架,可以极大提升开发效率。
使用Lua 5.3作为主要语言,针对资源较少的嵌入式环境进行了优化,极大提升了运行效率。
Powerful embedded Lua Engine for IoT devices, with many components and low memory requirements (16K RAM, 128K Flash)
是合宙出的基于freertos的VM,提供库和外设、LuatOS-SOC接口及demo 极大提升开发效率。


合宙Air105是一款QFN88 封装,10mm x 10mm 大小的MCU, 支持最多54个GPIO,不仅提供UART/GPIO/I2C/ADC/SPI等基础外设,更提供DAC/USB/DCMI/HSPI/LCDI/KCU等高级外设接口,内置充电 功能,支持5V/3.3V供电,同时自带5v转3.3V的LDO,4M字节Flash,640K字节RAM。





105发布:http://www.elecfans.com/d/comp-4699659-136340651553233530880.html
105源码:https://gitee.com/openLuat/luatos-soc-air105
105编译说明:https://wiki.luatos.com/develop/compile/Air105.html
105寄存器手册:https://luatos.com/t/air105

我使用的LuatOS-SoC@Air105 V0007正式固件地址:
https://gitee.com/openLuat/LuatOS/releases/v0007.air105.v0007
最新https://gitee.com/openLuat/LuatOS/releases/v0007.air105.v0008
下载tool(我下载的是LuaTools 2。1。58):https://wiki.luatos.com/pages/tools.html
准备一个文本编辑软件(我用的UltraEdit)
程序:


  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "coremark"
  3. VERSION = "1.0.0"
  4. --mcu.setXTAL(true, true, 1248) --高速时钟使用外部时钟,低速32K使用外部晶振, delay1248
  5. mcu.setXTAL(true, false, 1248) --高速时钟使用外部时钟,低速32K使用, delay1248
  6. localtick_str, tick_per = mcu.tick64()
  7. print("ticks64", tick_str,"ticks_per_us", tick_per)
  8. local tick = mcu.hz()
  9. print("mcu-tick.hz", tick)
  10. local tick = mcu.ticks()
  11. print("ticks", tick)
  12. log.info("tick64-type", type(tick_str))
  13. local mhz = mcu.getClk()
  14. print("getClk", mcu.getClk())--打印主频
  15. log.info("getClk-Boom", mhz)
  16. -- 一定要添加sys.lua !!!!
  17. local sys = require "sys"
  18. log.info("main", PROJECT, VERSION)
  19. log.info("t_per_us", tick_per,"len",tick_str:len())
  20. --添加硬狗防止程序卡死
  21. --wdt.init(15000)--初始化watchdog设置为15s
  22. --sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
  23. --下面的GPIO引脚编号,请根据实际需要进行更改!
  24. -- Air101开发板的3个LED分别为 PB08/PB09/PB10
  25. -- Air103开发板的3个LED分别为 PB24/PB25/PB26
  26. -- Air105开发板的3个LED分别为 PD14/PD15/PC3
  27. -- 若下载到设备后提示pin库不存在,请升级固件到V0006或以上
  28. --【HaoSir2022】于2022年4月21日增加
  29. function pinx()--根据不同开发板,给LED赋值不同的gpio引脚编号
  30. if rtos.bsp()=="air101" then--Air101开发板LED引脚编号
  31. local A= pin.PB08
  32. local B= pin.PB09
  33. local C= pin.PB10
  34. return A,B,C
  35. elseif rtos.bsp() == "air103" then--Air103开发板LED引脚编号
  36. local A= pin.PB26
  37. local B= pin.PB25
  38. local C= pin.PB24
  39. return A,B,C
  40. elseif rtos.bsp() == "air105" then--Air105开发板LED引脚编号
  41. print(_VERSION)
  42. log.info( "air105")
  43. local A= pin.PD14--b
  44. local B= pin.PD15--g
  45. local C= pin.PC3--r
  46. return A,B,C
  47. end
  48. end
  49. --LED引脚判断赋值结束
  50. local P1,P2,P3=pinx()--赋值开发板LED引脚编号
  51. local LEDA= gpio.setup(P1, 0, gpio.PULLUP)
  52. local LEDB= gpio.setup(P2, 0, gpio.PULLUP)
  53. local LEDC= gpio.setup(P3, 0, gpio.PULLUP)
  54. --[[
  55. sys.wait(200) --点亮时间
  56. sys.wait(200) --点亮时间
  57. --mcu.setXTAL(true) --高速时钟使用外部时钟,
  58. --
  59. sys.wait(2000) --点亮时间
  60. local tick_str, tick_per = mcu.tick64()
  61. print("ticks64", tick_str,"ticks_per_us", tick_per)
  62. local tick = mcu.hz()
  63. print("mcu.hz", tick)
  64. local tick = mcu.ticks()
  65. print("ticks", tick)
  66. local mhz = mcu.getClk()
  67. -print("getClk-Boom", mhz)
  68. mcu.setClk(192)
  69. sys.wait(2000) --点亮时间
  70. local tick_str, tick_per = mcu.tick64()
  71. print("ticks64", tick_str,"ticks_per_us", tick_per)
  72. local tick = mcu.hz()
  73. print("mcu.hz", tick)
  74. local tick = mcu.ticks()
  75. print("ticks", tick)
  76. local mhz = mcu.getClk()
  77. --print("getClk-Boom", mhz)
  78. ]]
  79. log.info("pm", "last power reson", pm.lastReson())
  80. local t = rtc.get()
  81. if t["year"] == 2022 then--
  82. log.debug("time no set", os.date())--打印时间
  83. else
  84. log.debug("timeset", os.date())--打印时间
  85. rtc.set({year=2022,mon=8,day=31,hour=17,min=8,sec=43})--rtc时间设置
  86. end
  87. log.info("os.date()", os.date())--打印时间
  88. sys.taskInit(function()
  89. --开始流水灯
  90. local count = 0
  91. while 1 do
  92. --流水灯程序
  93. -- 轮流点灯
  94. LEDA(count % 3 == 0 and 1 or 0)
  95. LEDB(count % 3 == 1 and 1 or 0)
  96. LEDC(count % 3 == 2 and 1 or 0)
  97. log.info("GPIO", "Go Go Go", count)
  98. -- log.info("LuatOS:", "https://wiki.luatos.com")
  99. -- log.info(count % 3, count % 3 == 0,count % 3 == 0 and 1 or 0, "LEDA")
  100. -- log.info(count % 3, count % 3 == 1,count % 3 == 1 and 1 or 0, "LEDb")
  101. -- log.info(count % 3, count % 3 == 2,count % 3 == 2 and 1 or 0, "LEDc")
  102. count = count + 1
  103. sys.wait(3000) --点亮时间
  104. end
  105. end)
  106. --第二个任务
  107. sys.taskInit(function()
  108. while true do
  109. adc.open(0) -- 模块上的ADC0脚-PA1, 0~2.4v,不要超过范围使用!!!
  110. sys.wait(500) --点亮时间
  111. log.debug("adc", "adc0", adc.read(0))
  112. -- 使用完毕后关闭,可以使得休眠电流更低.
  113. adc.close(0)
  114. sys.wait(15000) --时间
  115. -- local t = rtc.get()
  116. -- log.info("rtc", json.encode(t))
  117. log.info("os.date()", os.date())--打印时间
  118. end
  119. end)
  120. --第3个任务
  121. sys.taskInit(function()
  122. local count = 0
  123. while true do
  124. log.info("ticks", count)
  125. local tick_str, tick_per1 = mcu.tick64()
  126. rtos.nop()--1854=3nop.,887=nop.nop~=483~=10us.
  127. local tick_str1, tick_per = mcu.tick64()--44s,89s,90s(32bit 0.5,~1,》1)
  128. tick_per1=tick_str:sub(1,4)
  129. tick_per=tick_str:sub(5,8)
  130. sys.wait(500) --点亮时间
  131. log.info("ticks32-1", tick_per1,"ticks32-2", tick_per) --string.format("%d" , tick_per1)
  132. tick_per=0
  133. for i=4,1,-1 do
  134. log.info("ticks32-N", tick_per1:byte(i))
  135. tick_per=tick_per*256+tick_per1:byte(i)
  136. end
  137. log.info("ticks32add", tick_per)
  138. for i=1,8 do
  139. log.info("ticks64-N", tick_str:byte(i),tick_str1:byte(i))
  140. end
  141. count = count + 1
  142. sys.wait(5000) --时间
  143. end
  144. end)
  145. -- API文档 https://wiki.luatos.com/api/gpio.html
  146. -- 用户代码已结束---------------------------------------------
  147. -- 结尾总是这一句
  148. sys.run()
  149. -- sys.run()之后后面不要加任何语句!!!!!
复制代码

. 双击 Luatools_v2.exe 启动程序并更新
poYBAGKnEBiAHJsAAACjY-0cypg405.png

.LuaTools 各个文件夹功能:
1. _temp : 临时文件。2. config : 对Luatools_V2 进行的一些配置会存放到这个文件夹。3. log : 这个文件夹和我们关系紧密,当你向合宙 FAE 寻求技术支持的时候,需要提交这个目录下的文件。4. resource : 合宙模块相关的AT固件,LuaTask 开发的Core 底层固件,Lib库 和demo5. project : 使用项目管理后会自动生成这个目录,用来管理下载项目的
. 下载固件入口
pYYBAGKnEMyAQEfrAADT2qGdUjQ154.png

LuatOS-SoC@Air105 V0007正式固件位置并下载
. 项目管理入口
pYYBAGKnG3-AF-PKAACy7_bx7iY786.png

选择"创建",输入项目名字,选择确认,选择填入lua文件的位置(我的是H:合宙Air105
esource105_lua_lodcore_V0007democoremark下的main.lua)
选择底层core选择刚才下载 LuatOS-SoC@Air105 V0007正式固件位置
就可以只下载lua文件了。
log:[2022-06-13 09:40:18.266] X8yZRemote_Upgrade 468:no ota info

  1. [2022-06-13 09:40:18.266] main 659:bootloader build release May7 2022 19:23:19!
  2. [2022-06-13 09:40:18.266] Jump_AppRun 76:jump to 0x01010400 !
  3. [2022-06-13 09:40:18.266] main 176:APP Build release May7 2022 19:22:45!
  4. [2022-06-13 09:40:18.266] I/main LuatOS@air105 core V0007 bsp V0007
  5. [2022-06-13 09:40:18.266] I/main ROM Build: May7 2022 19:22:58
  6. [2022-06-13 09:40:18.266] D/main loadlibs luavm 204792 14656 14912
  7. [2022-06-13 09:40:18.266] D/main loadlibs sys 361544 18512 19176
  8. [2022-06-13 09:40:18.281] ticks64 k ticks_per_us 48
  9. [2022-06-13 09:40:18.281] mcu-tick.hz 1000
  10. [2022-06-13 09:40:18.281] ticks 13
  11. [2022-06-13 09:40:18.281] I/user.tick64-type string
  12. [2022-06-13 09:40:18.281] getClk 192
  13. [2022-06-13 09:40:18.281] I/user.getClk-Boom 192
  14. [2022-06-13 09:40:18.281] I/user.main coremark 1.0.0
  15. [2022-06-13 09:40:18.281] I/user.t_per_us 48 len 8
  16. [2022-06-13 09:40:18.281] Lua 5.3
  17. [2022-06-13 09:40:18.281] I/user.air105
  18. [2022-06-13 09:40:18.281] I/user.pm last power reson 0 0
  19. [2022-06-13 09:40:18.281] I/user.os.date() Wed Aug 31 17:08:43 2022
  20. [2022-06-13 09:40:18.281] I/user.GPIO Go Go Go 0I/user.ticks 0
  21. [2022-06-13 09:40:18.796] D/user.adc adc0 3266 3987
  22. [2022-06-13 09:40:18.796] I/user.ticks32-1 5 ticks32-2
  23. [2022-06-13 09:40:18.796] I/user.ticks32-N 0
  24. [2022-06-13 09:40:18.796] I/user.ticks32-N 14
  25. [2022-06-13 09:40:18.796] I/user.ticks32-N 218
  26. [2022-06-13 09:40:18.796] I/user.ticks32-N 53
  27. [2022-06-13 09:40:18.796] I/user.ticks32add 973365
  28. [2022-06-13 09:40:18.796] I/user.ticks64-N 53 97
  29. [2022-06-13 09:40:18.796] I/user.ticks64-N 218 225
  30. [2022-06-13 09:40:18.796] I/user.ticks64-N 14 14
  31. [2022-06-13 09:40:18.796] I/user.ticks64-N 0 0
  32. [2022-06-13 09:40:18.796] I/user.ticks64-N 0 0
  33. [2022-06-13 09:40:18.796] I/user.ticks64-N 0 0
  34. [2022-06-13 09:40:18.796] I/user.ticks64-N 0 0
  35. [2022-06-13 09:40:18.796] I/user.ticks64-N 0 0
  36. [2022-06-13 09:40:21.296] I/user.GPIO Go Go Go 1
  37. [2022-06-13 09:40:23.793] I/user.ticks 1
  38. [2022-06-13 09:40:24.293] I/user.GPIO Go Go Go 2
  39. [2022-06-13 09:40:24.293] I/user.ticks32-1 ticks32-2
  40. [2022-06-13 09:40:24.293] I/user.ticks32-N 15
  41. [2022-06-13 09:40:24.293] I/user.ticks32-N 204
  42. [2022-06-13 09:40:24.293] I/user.ticks32-N 166
  43. [2022-06-13 09:40:24.293] I/user.ticks32-N 240
  44. [2022-06-13 09:40:24.293] I/user.ticks32add 265070320
  45. [2022-06-13 09:40:24.293] I/user.ticks64-N 240 29
  46. [2022-06-13 09:40:24.293] I/user.ticks64-N 166 171
  47. [2022-06-13 09:40:24.293] I/user.ticks64-N 204 204
  48. [2022-06-13 09:40:24.293] I/user.ticks64-N 15 15
  49. [2022-06-13 09:40:24.293] I/user.ticks64-N 0 0
  50. [2022-06-13 09:40:24.293] I/user.ticks64-N 0 0
  51. [2022-06-13 09:40:24.293] I/user.ticks64-N 0 0
  52. [2022-06-13 09:40:24.293] I/user.ticks64-N 0 0
  53. [2022-06-13 09:40:27.306] I/user.GPIO Go Go Go 3
复制代码



环境搭建
完成。

出现问题:
1。mcu.reg(address, value, mask)读不出
2。mcu.tick64()只有32位
3。RTC (Real-Time Clock)实时时钟使用mcu.setXTAL(source_main, source_32k),低速32K使用外部晶振不工作。


lua语法了解:

Lua快速入门教程
https://www.bilibili.com/video/BV1vf4y1L7Rb

Lua教程-进阶部分 –
https://www.bilibili.com/video/BV1WR4y1E7ud

luatos在线模拟器 –
https://wiki.luatos.com/_static/luatos-emulator/lua.html

语法参考手册 –
https://www.runoob.com/manual/lua53doc/contents.html

Lua 5.3 欢迎你 –
https://www.runoob.com/manual/lua53doc/

语法 –
https://www.runoob.com/lua/lua-tutorial.html

文档 –https://wiki.luatos.com/
文档2 –https://wiki.openluat.com/

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 合宙通信
    +关注

    关注

    0

    文章

    120

    浏览量

    1499
  • Air105
    +关注

    关注

    0

    文章

    48

    浏览量

    263
收藏 人收藏

    评论

    相关推荐

    【飞凌OK113i-S开发板试用】软件开发环境搭建

    【飞凌OK113i-S开发板试用】软件开发环境搭建 飞凌OK113i-S开发板软件
    发表于 12-25 12:06

    【先楫HPM5361EVK开发板试用体验】搭建开发环境2

    【先楫HPM5361EVK开发板试用体验】搭建开发环境1中讲了一些准备工作,下面来说环境。 1、
    发表于 12-10 17:08

    【先楫HPM5361EVK开发板试用体验】-02-开发环境的下载以及环境搭建

    安装的间隙,完成开发板FTD调试芯片的驱动安装,驱动在SDK包里面。 FTDI目录下 完成驱动的安装 开始环境搭建 直接按照默认的配置进行安装。
    发表于 11-26 11:47

    【涂鸦T2-U开发板试用体验】1、T2-U开发环境搭建及调试

    前言 本章介绍T2-U的开发环境搭建流程,以及一些遇到的问题。 一、资料 试用网址:【新品体验】涂鸦 T2-U 开发板免费
    发表于 11-25 23:38

    【涂鸦T2-U开发板试用体验】搭建环境

    官方描述 涂鸦提供一系列与 TuyaOS 配套的 IoT 开发板,您可在开发板上快速体验 TuyaOS 丰富的能力,同时通过 TuyaOS 和开发板快速进行量产产品开发、验证。 Tuy
    发表于 11-17 15:30

    【LuckFox Pico 开发板免费试用】1. 开发环境搭建

    插入开发板的卡槽,通过usb将开发板连接到电脑上。 下载链接中的adb fastboot工具。 放到C:\\\\adb目录下 添加环境变量,可以让你在windows的本地任意目录下运行adb。 六
    发表于 10-28 13:32

    Air001在Arduino下的测试IIC工程

    本帖最后由 大懒猫54 于 2023-8-23 11:57 编辑 测试使用Air001开发板,使用PF0,PF1对应的IIC接口,测试0.96英寸的OLED。下载器使用
    发表于 08-23 11:56

    【Start_DSC28034PNT湖人开发板免费体验】开发板初探与开发环境搭建

    一. 开箱 包装很好,两个盒子一个是开发板一个是仿真器。提供仿真器这点好评,开发没有仿真器的话基本是寸步难行。 打开包装 所有配件 二. 资料 2.1 开发板资料 http
    发表于 08-01 22:31

    【东微半导体DT5M4765R8L6 开发板试用体验】从零开始搭建开发环境

    第一次接触东微的产品,对他的adc非常感兴趣,也看到朋友们体验了东微的adc十分满意。所以将近期的体验和所得写了一份供大家学习和交流。 【东微半导体DT5M4765R8L6 开发板试用
    的头像 发表于 07-31 16:47 339次阅读
    【东微半导体DT5M4765R8L6 <b class='flag-5'>开发板</b><b class='flag-5'>试用</b>体验】从零开始<b class='flag-5'>搭建</b><b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    【FireBeetle 2 ESP32-S3开发板体验】测评1_搭建开发环境

    第1章 开发板开箱以及开发环境搭建 感谢电子发烧友社区提供的测评机会,参加DFRobot 的FireBeetle 2 ESP32-S3开发板
    发表于 07-29 21:40

    基于博流BL606P音视频开发板开发环境搭建及例程测试

    本文是关于开发者 zhanghui 基于BL606P-DVK开发板实战开发的系列文章中的第一篇,主要介绍了开发环境
    发表于 06-09 10:04 521次阅读
    基于博流BL606P音视频<b class='flag-5'>开发板</b>的<b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>及例程测试

    【开源】基于Air32F103CBT6的DAPLink开发板 多功能高速下载烧录器

    Air32F103CBT6芯片,并适配了216MHz主频和96KB RAM大资源,支持更快的下载速度,开发应用更为便捷的,仅2.5×1.3CM的迷你DAPLink新品开发板,并且软硬件全开源! *附件
    发表于 06-05 17:53

    【飞凌i.MX9352开发板试用】开箱+电路分析+环境搭建

    本次试用,飞凌工作人员联系确定了试用。感谢。 一、概述 1、CPU 本次试用开发板的CPU型号为i.MX 9352,这是NXP全新推出的一款CPU,2个Arm® Cortex®-A5
    发表于 06-05 16:44

    【CW32饭盒派开发板试用体验】开箱、环境搭建和闪灯记录

    就是主角开发板了,还有的都有了,来一张全家福: 然后就是搭建开发环境了,这个跟stm32的比较类似。平时用惯了keil,就用keil吧。值得注意的是需要将.flm文件复制到keil的
    发表于 05-27 12:14

    【沁恒 CH32V208 开发板免费试用开发板开箱以及开发环境搭建

    型RISC-V单片机CH32V208 - 南京沁恒微电子股份有限公司(wch.cn)可以找到芯片、开发板以及开发环境的相关资料,资料做的很详细,这里要给沁恒点个赞。 1.1开发
    发表于 04-29 15:41