首先,OpenTiny是一个开源的Angular技术栈UI组件库,由OpenTiny团队开发和维护,旨在为企业级应用提供高质量、高效率、高稳定性的UI组件和解决方案。OpenTiny提供了70多个Angular组件,支持OnPush模式、CSS变量主题定制、7种语言国际化等功能。
其次,OpenTiny是在2021年10月份正式开源的,目前已经发布了002版本,遵循MIT协议。 OpenTiny的源码和文档都托管在GitHub上。
OpenTiny的GitHub地址如下:
OpenTiny主页:>
OpenTiny-ng仓库:>
最后,如果您想要使用OpenTiny-ng组件库,您需要满足以下条件:
使用Angular ^1400或以上版本
使用现代浏览器,如Edge、Firefox、Chrome、Safari等
如果您符合以上条件,并且对OpenTiny-ng组件库感兴趣,您可以通过以下方式安装和使用:
通过npm安装:$ npm install @opentiny/ng
在模块文件中导入需要使用的组件模块:import { TiButtonModule } from ‘@opentiny/ng’;
在angularjson中导入样式文件链接:"styles": [ "node_modules/@opentiny/ng/themes/stylescss", "node_modules/@opentiny/ng/themes/theme-defaultcss", ]
简单安装Tiny Core Linux
说明
在安装任何 *** 作系统如微小的核心是备份计算机中的所有开始前的第一步。
在做出承诺之前进行简单安装应该考虑我们的快速和容易的概述。
IT核心从CDROM和/或USB随身碟运行小盖。
最会发现学习小核心的快速和容易的方法更好。
但对于那些愿意冒险到节俭,这显示一步一步的信息如何通过安装程序安装
TC。年长的指令手动安装还
可用,但使用安装程序的建议。
本指南假设你要么把CorePlus CD,或有TC(TC安装安装安装插件。TCZ)
记住,本指南是基本的,用户可以选择适应,去除和/或添加部分所需。
安装程序也适用于USB棒和其他外部媒体。
注意:如果已经有了一个Linux系统引导,那么不需要做一个微小的核心分区!小
核心可以运行在您现有的Linux安装一个单独的目录。
这样做,在步骤1中,取消选择“安装引导装载程序。步骤2,选择一个现有的分区,并在步骤3中,没有格式。完成后,将需要手动配置您现有的引导装载程序。
1。开始安装
打开安装程序:
它也可以开始通过壳或运行图标,键入“TC安装”。
2。浏览到安装文件
Browse to /mnt/device/boot and select the coregz file
与源的选择,选择所需要的安装类型和目标。要安装到一个空的硬盘
。
如果使用一个现有的分区,勾选框来标记它主动把它启动。
3。格式化
格式化新分区。建议选择一个EXT选项支持Linux的权限。
4。bootcodes
如果想使用额外的bootcodes,进入我们的。否则留空。
例bootcodes设置framebuffer分辨率和禁用wbar图标。
注意,可以编辑它们安装在引导程序的配置文件后的任何时间,通常extlinuxconf。
5。CorePlus安装选项
如果从CorePlus CD会看到一个额外的屏幕要求扩展CorePlus想要安装的安装。注意,如果只会从光盘运行安装程序CorePlus看到这个画面。
选择要安装的扩展。
6。微小的核心安装选项
如果是从微小的核心CD会看到一个额外的屏幕问哪个目录扩展应安装安装。应该选择CDE或TCE目录包含您想要安装的扩展。例如,如果小芯CD安装在/mnt/sr0 you should select /mnt/sr0/cde
注意,如果不会安装CorePlus看到这个画面。
从选定的目录下所有扩展将安装。
7。安装
如果一切OK,点击继续:
所需的时间将取决于硬盘驱动器的大小。
8。测试
在配置文件中更改。打开tiny的配置文件proguard-rulespro,在文件中左上角点击添加功能,然后点击混淆的类或方法即可,点击混淆后要注意保存配置文件并重新编译项目。
Tiny是一款免费的文本编辑器,支持多种编程语言,包括C、C++、Java、Python等。
RTX51 Tiny 用于管理目标系统的资源,本章讨论RTX51 Tiny如何使用这些资源。 RTX51 Tiny 用标准8051的定时器0(模式1)生产一个周期性的中断。该中断就是RTX51 Tiny的定时滴答(Timer Tick)。库函数中的超时和时间间隔就是基于该定时滴答来测量的。
默认情况下,RTX51每10000个机器周期产生一个滴答中断,因此,对于运行于12MHZ的标准8051来说,滴答的周期是001秒,也即频率是100HZ(12MHz/12/10000)。该值可以在CONF_TNYA51配置文件中修改。
附注:
l可以在RTX51的定时滴答中断里追加自己的代码。参见CONF_TNYA51 配置文件。
l关于RTX51 Tiny如何使用中断可以参考概述中中断一节的叙述。 RTX51 Tiny本质上是一个任务切换器,建立一个RTX51 Tiny程序,就
是建立一个或多个任务函数的应用程序。下面的信息可以帮助你快速的理解
RTX51 。
l任务用新的关键字由C语言定义,该关键字是Keic C51 所支持的。
lRTX51 Tiny维护每个任务的正确状态(运行、就绪、等待、删除、超时)。
l某个时刻只有一个任务处于运行态。
l任务可能处于就绪态、等待态、删除态或超时态。
l空闲任务(Idle_Task)总是处于就绪态,当定义的所有任务处于阻 塞状态时,运行该任务。 每个RTX51 Tiny 任务总是处于下述状态中的一种状态中。 状态 描 述 运行 正在运行的任务处于运行态。某个时刻只能有一个任务处于该状态。
os_running_task_id 函数返回当前正在运行的任务编号。 就绪 准备运行的任务处于就绪态。一旦运行的任务完成了处理,RTX51 Tiny选择一个就绪的任务执行。一个任务可以通过用os_set_ready或os_set_ready函数设置就绪标志来使其立即就绪(即便该任务正在等待超时或信号)。 等待 正在等待一个事件的任务处于等待态。一旦事件发生,任务切换到就绪态。Os_wait函数用于将一个任务置为等待态。 删除 没有被启动或已被删除的任务处于删除态。Os-delete-task函数将一个已经启动(用os_create_task)的任务置为删除态。 超时 被超时循环中断的任务处于超时态,在循环任务程序中,该状态相当于就绪态。 在实时 *** 作系统中,事件可用于控制任务的执行,一个任务可能等待一个事件,也可能向其他任务发送任务标志。
os_wait函数可以使一个任务等待一个或多个事件。
l超时是一个任务可以等待的公共事件。超时就是一些时钟滴答数, 当一个任务等待超时时,其他任务可以执行。一旦到达指定数量的滴答数,任务就可以继续执行。
l时间间隔(Interval)是一个超时(Timeout)的变种。时间间隔与超
时类似,不同的是时间间隔是相对于任务上次调用os_wait函数的指定数量的时钟滴答数。
l信号是任务间通信的方式。一个任务可以等待其他任务给它发信号(用os_send_signal和isr_send_signal函数)。
l每个任务都有一个可被其它任务设置的就绪标志(用os_set_ready和
isr_set_ready函数)。一个个等待超时、时间间隔或信号的任务可以通过设置它的就绪标志来启动。
lisr_set_ready函数)。一个等待超时、时间间隔或信号的任务可以通 过设置它的就绪标志来启动。
下表是os_wait函数等待的事件: K_IVL 等待制定的时间 隔K_SIG 等待一个信号 K_TMO 等待指定的超时 os-wait返回时,返回值表明发生了的事件: 返回值 意 义 RDY_EVENT 任务的就绪标志被置位 SIG_EVENT 收到一个信号 TMO_EVENT 超时完成或时间间隔到达。 os_wait可以等待下面的事件组合:
lK_SIG︱K_TMO:任务延迟直到有信号发给它或者指定数量的时钟滴答
到达。
lK_SIG︱K_IVL:任务延迟直到有信号到来或者指定的时间间隔到达。
附注:
lK_IVL和K_TMO事件不能组合 任务调度程序给任务分配处理器,RTX51 Tiny调度程序用下列规则确定
哪个任务要被运行:
当前任务被中断如果:
1、任务调用了os_switch_task且另一个任务正准备运行。
2、任务调用了os_wait且指定的事件没有发生。
3、任务执行了比轮转时间片更长的时间。
另一个任务启动如果:
1、无其它任务运行。
2、要启动的任务处于就绪态或超时态。 RTX51 Tiny可以配置为用循环法进行多任务处理(任务切换)。循环法允许
并行的执行若干任务。任务并非真的同时执行,而是分时间片执行的(CPU时间分
成时间片,RTX51 Tiny给每个任务分配一个时间片)。由于时间片很短(几毫秒),
看起来好象任务在同时执行。
任务在它的时间片内持续执行(除非任务的时间片用完)。然后,RTX51 Tin
g切换到下一个就绪的任务运运行。时间片的持续时间可以通过RTX51 Ting配置
定义。
下面是一个RTX51 Tiny程序的例子,用循环法多任务处理,程序中的两个任务
是计数器循环。RTX51 Tiny在启动时执行函数名为job0的任务0,该函数建立了另
一个任务job1,在job0执行完它的时间片后, RTX51 Tiny切换到job1。在job1执
行完它的时间片后,RTX51 Ting又切换到job0,该过程无限重复。
#include
int counter0;
int counter1;
void job0(void) _task_ 0
﹛
os_create(1); /标记任务1为就绪/
while(1)
﹛ /无限循环/
counter0++; /更新记数器/
}
}
void job1(void) _task_1
﹛
while(1)
﹛ /无限循环/
counter++; /更新记数器/
}
}
附注:
l可以用os_wait 或os_switch_task让RTX51 Tiny切换到另一个任务而不是
等待任务的时间片用完。 os_wait函数挂起当前的任务(使之变为等待态)直
到指定的事件发生(接着任务变为就绪态)。在此期间,任意数量的其他任务
可以运行。 如果禁止了循环任务处理,就必须让任务以协作的方式运作,在每个任务
里调用os_wait或os_switch_task,以通知RTX51 Tingy切换到另一个任务。
os_wait与os_switch_task的不同是,os_wait是让任务等待一个事件,而
os_switch_task是立即切换到另一个就绪的任务。 没有任务准备运行时,RTX51 Ting执行一个空闲任务。空闲任务就是一个
无限循环。如:
SJMP$
有些8051兼容的芯片提供一种降低功耗的空闲模式,该模式停止程序的执
行,直到有中断产生。在该模式下,所有的外设包括中断系统仍在运行。
RTX51 Tiny允许在空闲任务中启动空闲模式(在没有任务准备执行时)。当
RTX51 Tiny的定时滴答中断(或其它中断)产生时,微控制器恢复程序的执行。
空闲任务执行的代码在CONF_TNYA51配置文件中允许和配置。 RTX51 Tiny为每个任务在8051的内部RAM区(IDATA)维护一个栈。任务
运行时,将得到可能得到的最大数量的栈空间。任务切换时,先前的任务栈被
压缩并重置,当前任务的栈被扩展和重置。
下图表明一个三任务应用的内部存储器的布局。
图略…… :-)
?STACK表示栈的起始地址。该例中,位于栈下方的对象包括全局变量、寄存器和位寻址存储器,剩余的存储器用于任务栈。存储器的顶部可在配置中指定
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)