atmega16单片机配置:
内存:1KB
flash:16KB
结果:移植后flash只剩4KB左右
内存只剩300KB左右
因此:移植之后基本上只能开启一两个任务,内存已经不够了
正文
一.基础铺垫
二.移植freertos
三.重定向printf到uart0
四.makefile的编写
背景:
在学校学习avr一般都是iccavr这个软件,后面工作后vscode + ubuntu成为了习惯,于是搜索后有了vscode + ubuntu + avr-gcc + isp下载hex文件的玩法。
一.基础铺垫
1.在window上安装vscode
2.在window上安装虚拟机+ubuntu
3.使用vscode ssh登录到ubuntu
4.在ubuntu下安装avr-gcc套件
二.移植freertos
一切准备就绪:
去github克隆freertos内核
找到最匹配的atmega16的例子
按网上的移植方法把对应文件复制过来
主要需要修改文件:
1.FreeRTOSConfig.h
2.port.c
三.重定向printf到uart0
频繁使用printf会造成flash占用变大,对于atmega16来说是挺麻烦的。
四.makefile的编写
编译完后,需要使用
avr-objcopy -j .data -j .text -O ihex all main.hex
提取烧录文件
然后使用window下的isp烧录工具(例如progisp)下载到板子上
五:链接
https://github.com/zhengyeli/avr_freertos.git
关键字:avr单片机 atmega16 移植 freertos
引用地址:
在avr单片机(atmega16)上移植freertos
推荐阅读最新更新时间:2024-11-05 11:45
ucOS学习笔记(4)——一步一步移植ucOS到STM32
准备工作: 1.到micrium官网下载最新的 OS在stm32上的移植资料。下载地址为: http://micrium.com/download/Micrium-ARM-OS-II-Cortex-M3.exe 2.平台搭建: a.将1下载得到的文件解压得到micrium文件夹,并在Micrium\Software\ OS-II下用UV4创建一个 OS工程,配置CPU为STM32F101C8 b.建立如图1所示的工程目录结构。其中APP层用于放置应用程序, OS用于放置所有 OS与处理器无关的源码,PORT用于放置移植 OS需要改动的文件,而BSP则用于放置系统的驱动程序,LIB为系统调用的库支持。该目录组织依据来源于micr
[单片机]
mini2440 Norflash驱动移植过程
我不知道友善linux2.6.32的内核是否支持了mini2440的norflash,我在这里还是亲自的把mini2440的norflash支持上。移植过程分享如下: 一.添加配置项 1、修改 drivers/mtd/maps/Kconfig文件,在config_EDB7312配置项下添加如下内容: config MTD_MINI2440 tristate CFI Flash device mapped onMINI2440 depends on ARM && MTD_CFI help This enables access to the CFI Flash on the CogentMINI2440 board. I
[单片机]
斯坦福大学开发出新型移植物可利用超声波无线充电
最近斯坦福大学工程学院的研究人员们开发出了一种新型的芯片类移植物,这种智能芯片的特殊之处在于可以利用超声波进行无线充电。研究人员表示,为了治疗帕金森症等疾病,医生必须将足够小的芯片深植入体内,这也为芯片的安全性和耐用性提出了考验。而斯坦福大学此次的创新发明则创造性的解决了为植入患者体内微型芯片充电的难题,也使得患者接受移植的成本更低,安全系数更高。
传统的生物智能芯片大小和圆珠笔笔尖相仿,而Amin Arbabian等人则希望将这种芯片的尺寸再减小到原来的十分之一。经过改造后,这种芯片可以通过压电效应(简单地讲,即通过压力变化产生电流的变化)进行充电,当超声波对这种芯片作用时,压电材料的芯片会以每秒百万次的频率
[医疗电子]
英国成功实行“仿生眼”移植手术
英国伦敦穆尔菲尔德眼科医院日前成功实行了一项先锋性的“仿生眼”移植手术,目前2名接受手术的盲人患者已经恢复视力,可以大致看清物体轮廓,分辨物体移动方向,并能感知光线强弱。据了解,在未来3年之内,“仿生眼”技术有望得到大范围推广,令数百万盲人通过这种方法重见光明。 患者双目失明多年 据报道,这一先锋性手术是于上周在伦敦穆尔菲尔德眼科医院进行的。据悉,2名失明患者年龄均为50多岁,并都患有遗传性色素性视网膜炎,导致双眼感光细胞彻底毁坏,已经完全双目失明多年。在手术中,眼科医生林登·达·克鲁斯率领的手术团队,为2名患者分别植入了一种名为“阿格斯II型”的“仿生眼”。 据报道,“阿格斯II型仿生眼”价格高达1.
[新品]
U-boot 在 mini2440-S3C2440 上的移植(2)
1.本文主要讲解U-boot 在 mini2440-S3C2440 上的移植,用到的版本为 U-boot-2009.11_tekkaman-master,下载地址: https://download.csdn.net/download/jinanhezhuang/20823342?spm=1001.2014.3001.5501 1.下载官方u-boot:下载地址: 2.用xftp软件将压缩包上传到ubuntu; 3.解压安装包;tar命令 4.建立开发板文件: 我们将在smdk2410基础上移植,为了不破坏原本的代码,在board目录下将smdk2410复制到board下新建的文件夹tekkaman中的mini2440中;将m
[单片机]
用AVR单片机实现频率计设计
//AVR单片机课程设计程序 //名称:频率计 //硬件:ATMEGA16_FHz-QLD100623产品 8MHz 晶振 三位数码管显示 //程序说明:程序初调阶段,可测频率范围1Hz--65KHz 自动换档显示 //编写人:李春起 #include iom16v.h #include macros.h //-------------位拉高-------------------------------------------- #define LED1_H PORTD|=BIT(PD4) #define LED2_H PORTD|=BIT(PD5) #define LED3_H PORTD|=BIT(PD6) #defin
[单片机]
AVR单片机(学习ing)—(九)、ATMEGA16的模/数转换器—02
九、ATMEGA16的模/数转换器 九—(02)、ATMEGA16的模/数转换器的应用—“施密特”电压比较器实验 直接上图片~~ 然后是程序: IAR9_2.c //------------------------------------------------------------------------------ //在自动控制中,经常使用“施密特”电压比较器进行信号的抗干扰识别。 //使用ATMEGA16单片机中的ADC模块,可以实现软件的“施密特”电压比较器 //用软件实现输入电压的识别,当输入电压大于2.8V时,灯D1点亮;输入电压小于2.2V时,灯D2点亮 #include ioavr.h #includ
[单片机]
STM32平台下的FreeRTOS中断配置
Cortex-M 中断 Cortex-M 内核(STM32)的 MCU 提供了一个用于中断管理的嵌套向量中断控制器(NVIC)。Cotex-M3 的 NVIC 最多支持 240 个 IRQ(中断请求)、1 个不可屏蔽中断(NMI)、1 个 Systick(滴答定时器)定时器中断和多个系统异常。 Cortex-M 处理器有多个用于管理中断和异常的可编程寄存器,这些寄存器大多数都在 NVIC 和系统控制块(SCB)中,CMSIS 将这些寄存器定义为结构体。以 STM32F103 为例,打开 core_cm3.h,有两个结构体,NVIC_Type 和 SCB_Type,就存储了这些信息。 优先级分组定义 当多个中断来临的时候处理
[单片机]