CN112306948A - 一种双核打印机节省处理器代码空间的方法 - Google Patents
一种双核打印机节省处理器代码空间的方法 Download PDFInfo
- Publication number
- CN112306948A CN112306948A CN201910703556.XA CN201910703556A CN112306948A CN 112306948 A CN112306948 A CN 112306948A CN 201910703556 A CN201910703556 A CN 201910703556A CN 112306948 A CN112306948 A CN 112306948A
- Authority
- CN
- China
- Prior art keywords
- cpu
- mcu
- printing
- data
- printer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000007639 printing Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000003252 repetitive effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明提供一种双核打印机节省处理器代码空间的方法,包括以下步骤:S1,在CPU和MCU的处理过程中添加同步机制,用于保持CPU和MCU工作时处理数据的一致性;S2,CPU控制打印机设备初始化,UART及GPIO初始化;S3,CPU装载数据,通知MCU打印;S4,只负责打印的MCU等待打印数据,接收CPU发出的打印通知,进行打印操作,通知CPU打印完毕继续传送数据;S5,CPU等待打印完成,接收MCU的打印完毕通知和数据;S6,重复以上步骤S3‑S5。
Description
技术领域
本发明涉及打印机领域,特别涉及一种双核打印机节省处理器代码空间的方法。
背景技术
随着科技的不断发展,越来越多的智能电子产品在人们的日常生活中。热敏小票打印机是一种常见的打印机设备,通常基于单片机来控制打印头来实现打印功能。目前的技术也有存在双核即双处理器的打印机及相关技术,但是现有技术中双核打印机是存在两个CPU,两个CPU所占用的空间以及完成操作等工作均类似,这样就存在浪费资源和较高成本的问题。
发明内容
为了解决上述现有技术中存在的问题,本发明的目的在于:提供一种方便快捷、具有双核处理器的打印机节省处理器代码空间的方法,从而解决了目前双核打印机在处理、打印作业时,双处理器占用较多空间,影响运行速度,成本较高的问题。
本发明提供一种双核打印机节省处理器代码空间的方法,包括以下步骤:
S1,在CPU和MCU的处理过程中添加同步机制,用于保持CPU和MCU工作时处理数据的一致性;
S2,CPU控制打印机设备初始化,UART及GPIO初始化;
S3,CPU装载数据,通知MCU打印;
S4,只负责打印的MCU等待打印数据,接收CPU发出的打印通知,进行打印操作,通知CPU打印完毕继续传送数据;
S5,CPU等待打印完成,接收MCU的打印完毕通知和数据;
S6,重复以上步骤S3-S5。
还包括将非重复的流程从MCU剥离和迁移到CPU执行。
所述的非重复的流程包括打印机设备初始化,UART及GPIO初始化,打印机卸载,UART及GPIO释放。
所述的CPU操作包括打印机卸载,UART及GPIO释放的控制。
所述添加同步机制,使得MCU的编译文件大小降低一倍。
所述MCU的编译文件大小降低一倍是从400K降低到200K,代码大小优化50%。
本申请的优势在于:可以大幅降低成本,节约资源和空间,速度更快,节省双核其中一核的空间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本发明的方法的流程示意框图。
图2是本发明所涉及方法应用的系统的示意框图。
具体实施方式
目前,本技术领域常用的技术术语包括:
同步:一种计算机术语,一般指的是在两个或多个数据库、文件、模块、线程之间用来保持数据内容一致性的机制。
同步机制:在并发程序设计中,各进程对公共变量的访问必须加以制约,这种制约称为同步。进程的同步是通过同步机制实现的。
UART:通用异步收发传输器,用于通信的一种接口。
GPIO:通用输入输出的简称。
CPU:中央处理器(Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
MCU:微控制单元(Microcontroller Unit),又称单片微型计算机(Single ChipMicrocomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,可将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
北京君正推出的一款针对物联网的双核(大小核)嵌入式芯片X1000E。北京君正芯片X1000E内部君正芯片X1000E的可编程的MCU:,简称”小核”。北京君正芯片X1000E的主CPU,简称”大核”
例如,北京君正的X1000E芯片是针对物联网领域的一款芯片,针对热敏打印机市场,北京君正开发了一套基于君正芯片的打印机驱动。X1000E芯片有两个处理器核心,分为大小核,即主CPU(大核)和MCU(小核)。CPU负责准备和传输数据,MCU负责打印。双核协作来共同完成打印任务。
本申请涉及的双核打印机操作方法,可以包括:
1)MCU主要工作流程是:打印机设备初始化,UART及GPIO初始化,等待打印数据,打印,通知主CPU打印完毕继续传送数据,打印机卸载,UART及GPIO释放。
2)主CPU主要工作流程是:装载数据,通知MCU打印,等待打印完成,继续装载数据。
但由于MCU代码段空间只有4K,打印机控制流程及算法又非常复杂,而编译出来的烧录文件超出了4K,导致无法使用,因此必须对代码进行重新架构设计。
为了减少MCU的代码使用空间,对打印代码进行了重新组织,把MCU的打印机设备初始化,UART及GPIO初始化,打印机卸载,UART及GPIO释放等非重复的流程剥离和迁移到主CPU执行,这样可以大大减少MCU代码段的大小,使代码可以在小于4K的空间上实现打印的功能,同时添加了同步机制,可以把MCU的编译文件大小从400多k降低到200多k,代码大小优化了50%。
为了实现双核打印机节省处理器代码空间的目的,如图1所示,本申请提出了一种双核打印机节省处理器代码空间的方法,包括以下步骤:
S1,在CPU和MCU的处理过程中添加同步机制,用于保持CPU和MCU工作时处理数据的一致性;
S2,CPU控制打印机设备初始化,UART及GPIO初始化;
S3,CPU装载数据,通知MCU打印;
S4,只负责打印的MCU等待打印数据,接收CPU发出的打印通知,进行打印操作,通知CPU打印完毕继续传送数据;
S5,CPU等待打印完成,接收MCU的打印完毕通知和数据;
S6,重复以上步骤S3-S5。
还包括将非重复的流程从MCU剥离和迁移到CPU执行。
所述的非重复的流程包括打印机设备初始化,UART及GPIO初始化,打印机卸载,UART及GPIO释放。
所述的CPU操作包括打印机卸载,UART及GPIO释放的控制。
所述添加同步机制,使得MCU的编译文件大小降低一倍。
所述MCU的编译文件大小降低一倍是从400K降低到200K,代码大小优化50%。
如图2所示,为使用上述方的对应系统的示意框图,所述系统包括控制模块、机械模块、功能按键、设备电路、打印机头、耗材和介质,所述设备电路与机械模块、控制模块、功能按键、打印机头、耗材和介质连接,还包括两个处理器,一个是负责准备和传输数据的CPU,另外一个是只负责打印操作的MCU,其中CPU和MCU连接并协作共同完成打印任务,且将与打印过程无关的准备过程代码从MCU中剥离出来迁移到CPU执行,CPU和MCU连接各自对应的介质和接口。
所述的准备过程包括设备初始化,GPIO初始化、UART初始化、设置。
还包括将非重复的流程从MCU剥离和迁移到CPU执行。
所述的非重复的流程包括打印机设备初始化,UART及GPIO初始化,打印机卸载,UART及GPIO释放。
所述的MCU的工作流程是:等待打印数据,打印,通知CPU打印完毕继续传送数据。
所述的CPU的工作流程是:打印机设备初始化,UART及GPIO初始化,装载数据,通知MCU打印,等待打印完成,继续装载数据,打印机卸载,UART及GPIO释放。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种双核打印机节省处理器代码空间的方法,其特征在于,包括以下步骤:
S1,在CPU和MCU的处理过程中添加同步机制,用于保持CPU和MCU工作时处理数据的一致性;
S2,CPU控制打印机设备初始化,UART及GPIO初始化;
S3,CPU装载数据,通知MCU打印;
S4,只负责打印的MCU等待打印数据,接收CPU发出的打印通知,进行打印操作,通知CPU打印完毕继续传送数据;
S5,CPU等待打印完成,接收MCU的打印完毕通知和数据;
S6,重复以上步骤S3-S5。
2.根据权利要求1所述的一种双核打印机节省处理器代码空间的方法,其特征在于,还包括将非重复的流程从MCU剥离和迁移到CPU执行。
3.根据权利要求2所述的一种双核打印机节省处理器代码空间的方法,其特征在于,所述的非重复的流程包括打印机设备初始化,UART及GPIO初始化,打印机卸载,UART及GPIO释放。
4.根据权利要求1所述的一种双核打印机节省处理器代码空间的方法,其特征在于,所述的CPU操作包括打印机卸载,UART及GPIO释放的控制。
5.根据权利要求1所述的一种双核打印机节省处理器代码空间的方法,其特征在于,所述添加同步机制,使得MCU的编译文件大小降低一倍。
6.根据权利要求5所述的一种双核打印机节省处理器代码空间的方法,其特征在于,所述MCU的编译文件大小降低一倍是从400K降低到200K,代码大小优化50%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910703556.XA CN112306948A (zh) | 2019-07-31 | 2019-07-31 | 一种双核打印机节省处理器代码空间的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910703556.XA CN112306948A (zh) | 2019-07-31 | 2019-07-31 | 一种双核打印机节省处理器代码空间的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112306948A true CN112306948A (zh) | 2021-02-02 |
Family
ID=74486341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910703556.XA Pending CN112306948A (zh) | 2019-07-31 | 2019-07-31 | 一种双核打印机节省处理器代码空间的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306948A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317726A (en) * | 1987-11-09 | 1994-05-31 | Tandem Computers Incorporated | Multiple-processor computer system with asynchronous execution of identical code streams |
CN101398804A (zh) * | 2007-09-29 | 2009-04-01 | 深圳迈瑞生物医疗电子股份有限公司 | 一种具有打印驱动功能的设备及实现打印驱动的方法 |
CN109284074A (zh) * | 2018-07-25 | 2019-01-29 | 百富计算机技术(深圳)有限公司 | 一种基于多核系统的打印驱动方法、多核系统及终端设备 |
-
2019
- 2019-07-31 CN CN201910703556.XA patent/CN112306948A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317726A (en) * | 1987-11-09 | 1994-05-31 | Tandem Computers Incorporated | Multiple-processor computer system with asynchronous execution of identical code streams |
CN101398804A (zh) * | 2007-09-29 | 2009-04-01 | 深圳迈瑞生物医疗电子股份有限公司 | 一种具有打印驱动功能的设备及实现打印驱动的方法 |
CN109284074A (zh) * | 2018-07-25 | 2019-01-29 | 百富计算机技术(深圳)有限公司 | 一种基于多核系统的打印驱动方法、多核系统及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1240019C (zh) | 将usb设备连接至usb总线的单连接点的装置和方法 | |
KR101664322B1 (ko) | 컴퓨팅 디바이스 및 그 시동 방법 | |
US20110122436A1 (en) | Printing apparatus and processing method therefor | |
EP1337922B1 (en) | Extension for the advanced microcontroller bus architecture (amba) | |
US7467308B2 (en) | Method for transmitting the system command of a computer system | |
US9552050B2 (en) | Information processing device, printing device, and control method | |
US7398378B2 (en) | Allocating lower priority interrupt for processing to slave processor via master processor currently processing higher priority interrupt through special interrupt among processors | |
US5905912A (en) | System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller | |
CN117321580A (zh) | 无缝集成的微控制器芯片 | |
CN112131176A (zh) | 一种基于pcie的fpga快速局部重构方法 | |
CN107463224B (zh) | 显卡扩展板及应用其的主机、计算设备 | |
CN110704116A (zh) | 基于嵌入式处理器的一机多屏系统的实现方法 | |
CN114328357A (zh) | 用于裸芯的互联通信方法、系统和集成合封芯片 | |
CN112306948A (zh) | 一种双核打印机节省处理器代码空间的方法 | |
US20200225722A1 (en) | Power management of discrete communication port components | |
CN112306423A (zh) | 一种双处理单元实现打印机操作的系统 | |
CN112306422A (zh) | 一种优化热敏小票打印机的打印解决方法 | |
CN110401939B (zh) | 一种低功耗蓝牙控制器链路层装置 | |
CN111427806A (zh) | 一种双核amp系统共用串口的方法、存储介质及智能终端 | |
CN104981814A (zh) | 安全协处理器引导性能 | |
US7945919B2 (en) | Information processing apparatus and device controller driving/controlling method | |
US7293167B2 (en) | Method and apparatus for driving a non-native SATA hard disk | |
US8643861B2 (en) | Image processing apparatus, data processing method of image processing apparatus, and storage medium for performing multitask processing and single task processing while interpreting PDL data | |
CN112631975B (zh) | 基于Linux的SPI传输方法 | |
KR20070024600A (ko) | 호스트 제어기 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |