1. 20 1月, 2022 1 次提交
  2. 19 1月, 2022 1 次提交
    • Y
      fix: 当前仓代码编译告警的问题 · 194ac589
      yinjiaming 提交于
      【背景】
      当前仓代码存在编译告警需要处理
      
      【修改方案】
      在测试用例中屏蔽了-Werror选项
      在对应的代码处添加了相应函数的声明头文件
      
      【影响】
      对现有的产品编译不会有影响。
      
      re #I4N50W
      Signed-off-by: Nyinjiaming <yinjiaming@huawei.com>
      Change-Id: I7dc1e38105aa3d60f9f991f34f88875cccb48463
      194ac589
  3. 18 1月, 2022 1 次提交
  4. 10 1月, 2022 1 次提交
  5. 31 12月, 2021 1 次提交
    • Z
      feat: 内核提供tick timer框架,支持多架构多平台通用化 · f635450d
      zhushengle 提交于
      背景:
            当前Arch下tick timer的实现依赖于弱函数机制,三方适配时出错及限制较大,且tick
        timer作为内核必须模块,未模块化,当前散落在tick和调度等模块中,且当前存在arch依赖
        内核,内核也依赖arch的情况,为了解决上述问题,将tick timer模块化,通过提供tick
        timer框架实现内核依赖Arch而Arch不依赖内核,并且可以减少对外暴漏的接口,使得三方
        适配时更加明确需要实现的接口。
      
      方案描述:
      1.tick timer结构
        在kernel_liteos_m/arch/include/los_timer.h,中定义结构:
      
        typedef struct {
          UINT32        freq;
          INT32         irqNum;
          UINT32        (*init)(HWI_PROC_FUNC tickHandler);
          UINT64        (*getCycle)(UINT32 *period);
          VOID          (*reload)(UINT64 time);
          VOID          (*lock)(VOID);
          VOID          (*unlock)(VOID);
          HWI_PROC_FUNC tickHandler;
        } ArchTickTimer;
        并声明对外获取tick timer的接口:
      
        ArchTickTimer *ArchSysTickTimerGet(VOID)
        define LOS_SysTickTimerGet ArchSysTickTimerGet
      2.在每个架构下提供默认的tick timer操作:
      
        STATIC ArchTickTimer g_archTickTimer = {
          .freq = xxx, 必填
          .irqNum = xxx, 必填
          .init = xxx, 必填
          .getCycle = xxx, 必填
          .reload = xxx, 必填
          .lock = xxx, 必填
          .unlock = xxx, 必填
          .tickHandler = NULL, 可选
        }
        并实现:ArchTickTimer *ArchSysTickTimerGet(VOID) 接口
      3.内核los_tick.c中提供对外(其它模块)和公共的tick timer初始化操作函数,
        如果用户不想启用系统默认的tick timer,则需要在 "内核初始化之前" 调用接口:
        LOS_TickTimerRegister(const ArchTickTimer *timer, const HWI_PROC_FUNC tickHandler)
        将用户自己的tick timer或中断处理函数 注册进去。
        用户也可以注册自己的中断处理函数(用户不提供,默认使用系统提供的)。
      
      BREAKING CHANGE:
        原来版本中每个架构下提供的tick timer相关操作函数为弱函数:
          WEAK UINT32 HalTickStart(OS_TICK_HANDLER handler);
          WEAK VOID HalSysTickReload(UINT64 nextResponseTime);
          WEAK UINT64 HalGetTickCycle(UINT32 *period);
          WEAK VOID HalTickLock(VOID);
          WEAK VOID HalTickUnlock(VOID);
        用户如果需要启用自己的tick timer需要自己实现相关接口(强属性),在 "内核初始化之前" 通过调用:
        LOS_TickTimerRegister 接口替换系统默认提供的tick timer相关接口。
        无论用户提供的tick timer 还是系统默认提供的,均在内核初始化时启动。
      
      Close #I4N7XV:arch 重构
      Signed-off-by: Nzhushengle <zhushengle@huawei.com>
      Change-Id: I83ad0bdf303904f0e73f808b57b60183619fddcd
      f635450d
  6. 28 12月, 2021 1 次提交
  7. 25 12月, 2021 1 次提交
    • L
      feat: synchronizing arch api · 04bf3a68
      LiteOS2021 提交于
      命名规范:修改少量Arch接口,命名规范化调整:
      1.修改arch/include下接口声明,所有arch对外提供调用函数均以ArchXX命名
      2.提取多个架构均有实现的公共函数声明至arch/include对应头文件中以供外部调用,并修改命名格式为ArchXX
      3.修改OS_HWI_WITH_ARG为LOSCFG_PLATFORM_HWI_WITH_ARG并移至los_config.h中
      4.typedef VOID (*OS_TICK_HANDLER)(VOID);暂时移至arch/include/los_timer.h中
      5.实现atomic原子操作相关接口,位于arch/include/los_atomic.h,arm架构部分与汇编指令相关原子操作接口使用ARCH_ARM宏进行控制是否编译
      
      BREAKING CHANGE: 1.修改arch/include下接口,以ArchXX命名函数
      2.提取公共函数声明:ArchAtomicXchg32bits、ArchAtomicDecRet、ArchAtomicCmpXchg32bits
      3.新增部分原子操作c内联实现
      
      Close #I4N7XV
      Signed-off-by: NLiteOS2021 <dinglu@huawei.com>
      04bf3a68
  8. 05 11月, 2021 1 次提交
  9. 28 9月, 2021 2 次提交
  10. 24 9月, 2021 1 次提交
  11. 07 9月, 2021 1 次提交
  12. 28 8月, 2021 1 次提交
    • L
      feat: 按任务统计已经alloc的内存大小 · 53117f9f
      lnlan 提交于
      【背景】
      m核需补充shell命令,按任务统计已经alloc的内存大小
      【修改方案】
      1.新增在task命令中,在打印task
      info前遍历所有内存节点,统计各任务所占用的内存节
      点大小,在打印时将其打出。
      2.内存节点中,taskid所占位数随系统最大任务数调整
      【影响】
      对现有的产品编译不会有影响。
      
      re #I44WNU
      Signed-off-by: Nlanleinan <lanleinan@163.com>
      Change-Id: I080b5dd056966784c0752408f9e320ca0e97c7f7
      53117f9f
  13. 26 8月, 2021 1 次提交
    • L
      feat: 完善m核qemu串口驱动,支持shell输入 · c4dc5ab0
      lnlan 提交于
      【背景】
      m核qemu需完善串口驱动,支持shell输入
      【修改方案】
      1.完善串口驱动
      2.添加shell任务,获取串口输入并下发处理
      【影响】
      对现有的产品编译不会有影响。
      
      re #I46N7F
      Signed-off-by: Nlanleinan <lanleinan@163.com>
      Change-Id: Ib58d4e633081743e64412cb65aa209d3356d6c1c
      c4dc5ab0
  14. 17 8月, 2021 1 次提交
    • K
      feat: support non-continuous memory regions · 0facb0c0
      kenneth 提交于
      The multiple non-continuous memory regions are supported when the macro
      LOSCFG_MEM_MUL_REGIONS is enabled. The array of the type LOS_MEM_REGION should be defined,
      and each array element defines the start address and the length for each memory regions, \
      begining from the lower address to the higher memory address.
      
      close #I43XOP
      Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
      0facb0c0
  15. 10 8月, 2021 1 次提交
  16. 09 8月, 2021 1 次提交
    • Z
      fix: tick 动态化计算优化,减小中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。 · 2118c846
      zhushengle 提交于
      方案描述:
          1.周期软件定时器超时添加一个startTime字段,用于记录当前软件定时器的开始计时的时间,
          在定时器响应时,开始时间修改为上一次响应的结束时间(消除了中断执行时间对软件定时器
          的影响)。
          2. 在执行tick中断的过程当中,持有tick动态计算锁,保证在该过程中不会触发tick周期
          的计算,在tick中断结束时统一计算设置。 --- 提升tick中断的执行效率
          3. 在设置tick周期时,减掉tick中断执行的时间,减小周期动态化带来的时间误差
          4.新增LOSCFG_BASE_CORE_TICK_PER_SECOND_MINI配置宏,用于配置tick中断的最小响应精度
      Close #I3YGP1
      Signed-off-by: Nzhushengle <zhushengle@huawei.com>
      Change-Id: Ia53e4accce497bce870557c2c3387ce51fa3fed3
      2118c846
  17. 30 7月, 2021 1 次提交
    • L
      feat: L0 支持Trace · 56c93a64
      LiteOS2021 提交于
      1.【需求描述】
       L0 支持Trace,提供两种工作模式:在线模式、离线缓存模式, 用于按时间线追踪系统事件,如任务切换、中断、ipc等。
      2.【方案描述】
       (1).在内核模块预置静态代码桩
        (2).触发桩后,收集系统上下文信息
        (3).离线模式则写入内存,用户可通过dump导出;
        (4).在线模式通过pipeline对接IDE进行可视化解析和展示;
      
      BREAKING CHANGE:
      1.新增一系列trace的对外API,位于los_trace.h中.
      LOS_TRACE_EASY简易插桩
      LOS_TRACE标准插桩
      LOS_TraceInit配置Trace缓冲区的地址和大小
      LOS_TraceStart开启事件记录
      LOS_TraceStop停止事件记录
      LOS_TraceRecordDump输出Trace缓冲区数据
      LOS_TraceRecordGet获取Trace缓冲区的首地址
      LOS_TraceReset清除Trace缓冲区中的事件
      LOS_TraceEventMaskSet设置事件掩码,仅记录某些模块的事件
      LOS_TraceHwiFilterHookReg注册过滤特定中断号事件的钩子函数
      
      Close #I41Y9Y
      Signed-off-by: NLiteOS2021 <dinglu@huawei.com>
      56c93a64
  18. 15 7月, 2021 1 次提交
  19. 13 7月, 2021 1 次提交
  20. 22 6月, 2021 1 次提交
    • Z
      feat: L0 支持低功耗框架 · 558ce14b
      zhushengle 提交于
      1.【需求描述】
       L0 支持低功耗投票框架, 使内核与应用、驱动分离开,通过注册及投票机制控制系统的低功耗模式,
        减低系统功耗,提升设备电池寿命。
      2.【方案描述】
       (1).提供注册机制,使驱动与内核分离
        (2).提供投票机制,判断系统运行模式
        (3).记录持锁设备,便于回溯
        进入:系统运行进入idle任务时判断当前的功耗模式,如果上层应用未对当前功耗模式(deep和shutdown)
       持锁,则系统准备进入当前模式,首先所有设备依次进入当前模式,如果有设备进入当前模式失败,则恢复
       已进入当前模式的所有设备,并且功耗模式变为normal模式;设备依次进入当前功耗模式后cpu再进入当前
       功耗模式。
        恢复:功耗模式为deep时,需要恢复逻辑,时系统恢复运行。当有中断出发时,系统会退出低功耗模式,
        恢复顺序为:首先cpu先恢复,然后设备依次恢复。
      
      BREAKING CHANGE:
      1.原调度中基于tick timer的低功耗扩展和当前的pm模块合并,删除原对外接口LOS_SchedSleepInit,
       变为pm模块统一提供的LOS_PmRegistered接口.
      2.原来在arch los_timer.h下提供的低功耗模式为枚举LOS_SysSleepEnum,其中OS_SYS_NORMAL_SLEEP
        和OS_SYS_DEEP_SLEEP不符合对外定义,统一修改为LOS_SYS_NORMAL_SLEEP和LOS_SYS_DEEP_SLEEP,
        并移至los_pm.h中.
      3.VOID HalEnterSleep(LOS_SysSleepEnum sleep) 变更为UINT32 HalEnterSleep(VOID).
      
      Close #I3UDNV
      Signed-off-by: Nzhushengle <zhushengle@huawei.com>
      Change-Id: Id5382c42c8055ba7850895a3f575130a73e38a65
      558ce14b
  21. 17 6月, 2021 1 次提交
  22. 16 6月, 2021 2 次提交
  23. 15 6月, 2021 1 次提交
  24. 25 5月, 2021 1 次提交
    • Y
      feat(liteos_m): support backtrace for riscv · ca1792aa
      YOUR_NAME 提交于
      Support backtrace for riscv when the compilation option(-fno-omit-frame-pointer) is not turned on.
      
      fix #I3RVXY
      
      Change-Id: Ie7d8a223167e5c540367bc96db646b821dae9fd0
      ca1792aa
  25. 18 5月, 2021 1 次提交
  26. 11 5月, 2021 1 次提交
  27. 19 4月, 2021 1 次提交
  28. 13 4月, 2021 1 次提交
    • 星e雨's avatar
      IssueNo:#I3IK07 · f685eeb9
      星e雨 提交于
      Description:liteos_m scheduling optimization and low power design.
      Sig:kernel
      Feature or Bugfix:Feature
      Binary Source:No
      
      Change-Id: If913b673c9b69039b51ca416be0a77ebccf2773b
      f685eeb9
  29. 09 4月, 2021 1 次提交
    • A
      IssueNo:#I3HGTM · caffe813
      arvinzzz 提交于
      Description: Fix some macro definitions of limits.h.
      Feature or Bugfix: Bugfix
      Binary Source:NA
      
      Change-Id: I419c712f8605f8a0d2d6cb0b6c3831cea0e742e1
      caffe813
  30. 01 4月, 2021 1 次提交
  31. 11 3月, 2021 1 次提交
  32. 30 1月, 2021 1 次提交
  33. 11 1月, 2021 1 次提交
  34. 08 1月, 2021 1 次提交
  35. 16 12月, 2020 1 次提交
  36. 02 12月, 2020 1 次提交
  37. 13 11月, 2020 1 次提交
  38. 08 9月, 2020 1 次提交