LONGSHEN1

  • 2020-10-19
  • 加入了学习《Littelfuse 电子电力、智能运动、可再生能源解决方案》,观看 EV 充电器及设备解决方案

  • 2020-09-17
  • 回复了主题帖: 国产M0芯片移植FreeRTOS笔记一

    freebsder 发表于 2020-9-16 22:26 10.3都出来了,这是哪年的文章。。。
    早期移植的,没怎么关注官网更新

  • 2020-09-10
  • 发表了主题帖: 国产M0芯片移植FreeRTOS笔记一

    本帖最后由 LONGSHEN1 于 2020-9-10 17:14 编辑 笔者趁着闲暇将FreeRTOS移植到一个国产MCU上,FreeRTOS还是非常容易移植的,网上的参考资料也非常多,FreeRTOS 在全球嵌入式市场分析报告中一直是小型嵌入式操作系统使用率最高的,以下是移植记录:   一、前期准备 准备一个 简单的工程模板,比如一个点亮LED的程序即可;   二、源码下载 从网址 https://sourceforge.net/projects/freertos/files/FreeRTOS/V8.2.3/ 下载 V8.2.3 版本,这个是 8.X 系列里面最高版本了,9.0 版本还处于测试阶段,我们暂不使用。   三、文件导入   1、在工程模板中建立FreeRTOS文件夹,用于存放FreeRTOS源文件 2、将 FreeRTOSV8.2.3 软件包中路径:FreeRTOSV8.2.3\FreeRTOS\Source 里面如下所有文件复制到工程模板FreeRTOS文件夹中   3、将 FreeRTOSConfig.h 复制到工程模板中,该文件在 FreeRTOSV8.2.3 软件包的路径: FreeRTOSV8.2.3\FreeRTOS\Demo\CORTEX_STM32F103_Keil,这是官方整理好的配置文件。   4、将源码文件添加到 MDK 的工程项目中,添加后的效果如下 其中 heap_4.c 文件路径: FreeRTOS\Source\portable\MemMang port.c 和 portmacro.h 文件的路径:FreeRTOS\Source\portable\RVDS\ARM_CM0,由于笔者使用的是 M0内核的,所以移植文件也要添加 M0内核的,这个内核文件根据不同平台选择对应的文件。   5、新创建一个 includes.h 文件,将所有的头文件都集中到这个头文件下。   6、添加相应的头文件路径   7、最后一步,同时也是最重要的一步,修改 FreeRTOSConfig.h 配置文件(用户根据自己的配置进行修改)   8、FreeRTOSConfig.h 文件中定义堆大小,FreeRTOS 内核,用户动态内存申请,任务栈等都需要用这个空间,用户需根据自己使用的mcu内存大小,填入合适的值   9、中断服务程序映射到 CMSIS 定义的标准名称 #define vPortSVCHandler SVC_Handler #define xPortPendSVHandler PendSV_Handler   另外用户需要将xPortSysTickHandler(void)滴答定时器映射到mcu定时器上 10、至此移植完成,由于很多细节没有描述非常详细,大家可以共同交流完善。

  • 2020-09-09
  • 回复了主题帖: 超轻量小型开源GUI、有效代码四千行左右、极易移植

    freebsder 发表于 2020-9-8 15:39 threadx的开源gui了解一下。
    threadx的GUI没用过,应该各具优势吧,我当初使用ugui也是考虑小型,容易移植,因为当初使用的单片机资源有限

  • 2020-09-08
  • 回复了主题帖: 超轻量小型开源GUI、有效代码四千行左右、极易移植

    freebsder 发表于 2020-9-7 19:45 5年没有更新了,还是观望的好。
    源码完全开源,这个可以自行完善的

  • 2020-09-06
  • 回复了主题帖: 超轻量小型开源GUI、有效代码四千行左右、极易移植

    dwj0 发表于 2020-9-6 14:13 可以讲讲怎么实现中文显示和怎么实现EDIT控件么
    你好,暂时不支持中文显示,后面我会把中文显示加上,控件使用可以参考我上面的例子。

  • 2020-09-05
  • 上传了资料: 超轻量小型开源GUI有效代码四千行左右极易移植

  • 2020-09-03
  • 发表了主题帖: 超轻量小型开源GUI、有效代码四千行左右、极易移植

    本帖最后由 LONGSHEN1 于 2020-9-3 16:42 编辑 开源小型 GUI,只需要两个文件 gui.c、gui.h   一、资源要求 估算最低硬件要求: ROM 13K RAM 2K 二、开源地址 开源GUI地址 https://github.com/achimdoebler/UGUI 三、GUI框架 GUI 框架构成: 1、窗口:可以绘制多个窗口; 2、控件:支持窗口内显示其他控件如按钮、文本框等; 3、 事件处理:支持界面和用户交互操作,事情回调,如触摸事件等; 4、 接口函数:提供给开发者友好的接口; 5、扩展:用户可以自行修改源码添加其他控件。 四、移植说明   4.1、首先需要准备工程模板,然后就可以开始移植了。   4.2、构建下面三个函数,分别是画线、填充、画点函数,画点函数是最基本的,移植 UGUI 必须建立此函数。请注意,确认调用三个函数可以在显示屏正常显示。如下图所示: 4.3、初始化GUI就完成移植了 4.4、有些单片机自带图形加速器,需要注册以下函数并使能   五、GUI函数介绍   所有GUI函数说明可以参考官方手册   5.1、例如建立一个窗口,下图为代码和显示效果:   注意此时只是简单的完成window1控件定义,LCD还未显示绘制窗口,要显示窗口必须在主循环或者定时中断中调用  UG_Update();   5.2、还有就是实现窗口内控件的回调点击处理函数,如下: 5.3、窗口控件管理 窗口控件管理:你在一个窗口中需要几个空间就要定义几个空间的相关类型变量定义,其中obj_buff[]数组用于记录你这个窗口中的空间,以数组方式管理和检索这些控件;一个窗口中可以容纳N个控件,由宏开关MAX_OBJECTS控制;   六、 如何实现触摸控制   如下代码所示,先获取触摸坐标,然后确认触摸状态为按下,调用UG_TouchUpdate更新坐标信息,然后UG_Update()里面会处理触摸信息,按下的相关控件会调用回调函数处理,例如上面描述的回调函数window_1_callback,里面有判断是哪个控件按下,然后处理对应的函数。   具体详细的说明请参考移植文档说明。  

最近访客

< 1/1 >

统计信息

已有6人来访过

  • 芯币:--
  • 好友:--
  • 主题:3
  • 回复:6
  • 课时:--
  • 资源:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言