294 Star 1.6K Fork 387

GVP合宙Luat / LuatOS

 / 详情

luatos-soc-rtt 测试异常反馈

已完成
任务
创建于  
2022-01-07 12:23

固件版本

  • 固件名称:luatos-soc-rtt@master
  • 使用设备:stm32l475-atk-pandora / stm32f746-st-disco / stm32f103-atk-warshipv3
  • 使用功能:LuatOS_SOC-latest

luatos-soc-rtt 无法报 issue

复现步骤

  • 拉取rt-thread 官方仓库

  • 测试 bsp (stm32l475-atk-pandora / stm32f746-st-disco / stm32f103-atk-warshipv3),均运行报错,具体步骤如下

  • 开启 LuatOS_SOC-latest

  • 修改 main Heap -> 8192

  • 开启 USING SPI BUS/Device device drivers

日志

  • 编译、下载

  • 运行异常报错

  • 加入 Cmbacktrace 后再次运行

附件
rtconfig.h(4.36 KB)下载
Dozingfiretruck 2022-01-08 20:01

评论 (10)

张帆 创建了任务

使用RTT主库最新代码测试未复现问题,使用stm32l475-atk-pandora测试的

可以分享一下,menuconfig 的相关配置项设置吗,我试了很多个板卡,也包含你反馈测试没问题的潘多拉

Dozingfiretruck 上传了附件rtconfig.h
Dozingfiretruck 上传了附件rtconfig.h
Dozingfiretruck 删除了附件rtconfig.h

可以分享一下,menuconfig 的相关配置项设置吗,我试了很多个板卡,也包含你反馈测试没问题的潘多拉

@张帆 我上次了附件

  • 非常感谢,今天早上来,更新了 rt-thread master 分支后,潘多拉测试通过,脚本可以跑起来了,感谢!
  • :)
  • 新的问题点反馈:
  • 调试 gpio 的时候,调用了 pin 去设置 io 口的时候,报有关 pin 的错误
  • 开始是报 "全局的 pin 不存在",我以为是没有引用,后来又显式引用一下 pin,虽然没报错,但是 pin 的返回值是 布尔类型


-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "helloworld"
VERSION = "1.0.0"

-- 引入必要的库文件(lua编写), 内部库不需要require
local sys = require "sys"

log.info("main", "hello world")

print(_VERSION)

sys.timerLoopStart(function() print("hi, LuatOS") end, 3000)

local pin = require("pin")
if pin then
    log.info('pin: ', json.encode(pin))
else
    log.info('pin lib not exit')
end
-- 
local led_pin = pin.get("PE07")
log.info("led_pin: ", led_pin)

sys.taskInit(function()
    local led_gpio = gpio.setup(led_pin, 0) -- 输出模式
    log.info("gpio loop start")
    -- 
    while true do
        led_gpio(0)
        sys.wait(100)
        led_gpio(1)
        sys.wait(100)
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

按照测试 luatos 支持的 air101/103/105 系列芯片,像 pin 这种底层 lib ,跟上述代码中已经用到的 gpio, json 等一样,无需显式调用,即可使用

不过 air 系列,或者是梦程MI/LuatOS-ESP32,都是有个显示的 pinList 去定义,每个 pin 脚到硬件底层的映射关系

因为我们这个库是针对 rtt 去做的 package 适配,底层的硬件是,千差万别的,所以,是不是暂时还没有支持到?后续能否提供接口,让用户自己去完成 pin 脚映射? :blush:

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "helloworld"
VERSION = "1.0.0"

-- 引入必要的库文件(lua编写), 内部库不需要require
local sys = require "sys"

log.info("main", "hello world")

print(_VERSION)

sys.timerLoopStart(function() print("hi, LuatOS") end, 3000)

local pin = require("pin")
if pin then
    log.info('pin: ', json.encode(pin))
else
    log.info('pin lib not exit')
end
-- 
local led_pin = pin.get("PE07")
log.info("led_pin: ", led_pin)

sys.taskInit(function()
    local led_gpio = gpio.setup(led_pin, 0) -- 输出模式
    log.info("gpio loop start")
    -- 
    while true do
        led_gpio(0)
        sys.wait(100)
        led_gpio(1)
        sys.wait(100)
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

@张帆 pin库暂时不可用,因为芯片不同gpio引脚号不同,差异比较大无法统一,得考虑一下,会先加上stm32的,其他看情况添加

明白,硬件太多,确实无法做到一一映射,即便可以,一是工作量巨大,二是不灵活,看下后续怎么开一个用户接口去自行映射 :blush: :clap:

明白,硬件太多,确实无法做到一一映射,即便可以,一是工作量巨大,二是不灵活,看下后续怎么开一个用户接口去自行映射 :blush: :clap:

@张帆 都是开源的,用户可以自己加,参考主库luat_lib_pin.c加上 101的luat_pin_air101.c代码,stm32有时间就会加上pin,到时候直接参看代码加就行

是ok了吧, 那我关掉了

Wendal 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5607411 dozingfiretruck 1596190037 1861988 zh f 1578961325 4674 wendal 1578914274
Lua
1
https://gitee.com/openLuat/LuatOS.git
git@gitee.com:openLuat/LuatOS.git
openLuat
LuatOS
LuatOS

搜索帮助

344bd9b3 5694891 D2dac590 5694891