Merge pull request #269 from SSYYL/master
Add 7.3inch e-Paper (F) code.
300
Arduino/epd7in3f/epd7in3f.cpp
Normal file
|
@ -0,0 +1,300 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f.c
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F)
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-21
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "epd7in3f.h"
|
||||
#include "imagedata.h"
|
||||
|
||||
Epd::~Epd() {
|
||||
};
|
||||
|
||||
Epd::Epd() {
|
||||
reset_pin = RST_PIN;
|
||||
dc_pin = DC_PIN;
|
||||
cs_pin = CS_PIN;
|
||||
busy_pin = BUSY_PIN;
|
||||
width = EPD_WIDTH;
|
||||
height = EPD_HEIGHT;
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
function : Initialize the e-Paper register
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
int Epd::Init(void) {
|
||||
if (IfInit() != 0) {
|
||||
return -1;
|
||||
}
|
||||
Reset();
|
||||
DelayMs(20);
|
||||
EPD_7IN3F_BusyHigh();
|
||||
|
||||
SendCommand(0xAA); // CMDH
|
||||
SendData(0x49);
|
||||
SendData(0x55);
|
||||
SendData(0x20);
|
||||
SendData(0x08);
|
||||
SendData(0x09);
|
||||
SendData(0x18);
|
||||
|
||||
SendCommand(0x01);
|
||||
SendData(0x3F);
|
||||
SendData(0x00);
|
||||
SendData(0x32);
|
||||
SendData(0x2A);
|
||||
SendData(0x0E);
|
||||
SendData(0x2A);
|
||||
|
||||
SendCommand(0x00);
|
||||
SendData(0x5F);
|
||||
SendData(0x69);
|
||||
|
||||
SendCommand(0x03);
|
||||
SendData(0x00);
|
||||
SendData(0x54);
|
||||
SendData(0x00);
|
||||
SendData(0x44);
|
||||
|
||||
SendCommand(0x05);
|
||||
SendData(0x40);
|
||||
SendData(0x1F);
|
||||
SendData(0x1F);
|
||||
SendData(0x2C);
|
||||
|
||||
SendCommand(0x06);
|
||||
SendData(0x6F);
|
||||
SendData(0x1F);
|
||||
SendData(0x16);
|
||||
SendData(0x25);
|
||||
|
||||
SendCommand(0x08);
|
||||
SendData(0x6F);
|
||||
SendData(0x1F);
|
||||
SendData(0x1F);
|
||||
SendData(0x22);
|
||||
|
||||
SendCommand(0x13); // IPC
|
||||
SendData(0x00);
|
||||
SendData(0x04);
|
||||
|
||||
SendCommand(0x30);
|
||||
SendData(0x02);
|
||||
|
||||
SendCommand(0x41); // TSE
|
||||
SendData(0x00);
|
||||
|
||||
SendCommand(0x50);
|
||||
SendData(0x3F);
|
||||
|
||||
SendCommand(0x60);
|
||||
SendData(0x02);
|
||||
SendData(0x00);
|
||||
|
||||
SendCommand(0x61);
|
||||
SendData(0x03);
|
||||
SendData(0x20);
|
||||
SendData(0x01);
|
||||
SendData(0xE0);
|
||||
|
||||
SendCommand(0x82);
|
||||
SendData(0x1E);
|
||||
|
||||
SendCommand(0x84);
|
||||
SendData(0x00);
|
||||
|
||||
SendCommand(0x86); // AGID
|
||||
SendData(0x00);
|
||||
|
||||
SendCommand(0xE3);
|
||||
SendData(0x2F);
|
||||
|
||||
SendCommand(0xE0); // CCSET
|
||||
SendData(0x00);
|
||||
|
||||
SendCommand(0xE6); // TSSET
|
||||
SendData(0x00);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: basic function for sending commands
|
||||
*/
|
||||
void Epd::SendCommand(unsigned char command) {
|
||||
DigitalWrite(dc_pin, LOW);
|
||||
SpiTransfer(command);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: basic function for sending data
|
||||
*/
|
||||
void Epd::SendData(unsigned char data) {
|
||||
DigitalWrite(dc_pin, HIGH);
|
||||
SpiTransfer(data);
|
||||
}
|
||||
|
||||
void Epd::EPD_7IN3F_BusyHigh(void)// If BUSYN=0 then waiting
|
||||
{
|
||||
while(!DigitalRead(BUSY_PIN)) {
|
||||
DelayMs(1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: module reset.
|
||||
* often used to awaken the module in deep sleep,
|
||||
* see Epd::Sleep();
|
||||
*/
|
||||
void Epd::Reset(void) {
|
||||
DigitalWrite(reset_pin, HIGH);
|
||||
DelayMs(20);
|
||||
DigitalWrite(reset_pin, LOW); //module reset
|
||||
DelayMs(1);
|
||||
DigitalWrite(reset_pin, HIGH);
|
||||
DelayMs(20);
|
||||
}
|
||||
|
||||
void Epd::TurnOnDisplay(void) {
|
||||
SendCommand(0x04); // POWER_ON
|
||||
EPD_7IN3F_BusyHigh();
|
||||
|
||||
SendCommand(0x12); // DISPLAY_REFRESH
|
||||
SendData(0x00);
|
||||
EPD_7IN3F_BusyHigh();
|
||||
|
||||
SendCommand(0x02); // POWER_OFF
|
||||
SendData(0x00);
|
||||
EPD_7IN3F_BusyHigh();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Sends the image buffer in RAM to e-Paper and displays
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void Epd::EPD_7IN3F_Display(const UBYTE *image) {
|
||||
unsigned long i,j;
|
||||
|
||||
SendCommand(0x10);
|
||||
for(i=0; i<height; i++) {
|
||||
for(j=0; j<width/2; j++) {
|
||||
SendData(image[j + width*i]);
|
||||
}
|
||||
}
|
||||
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Sends the part image buffer in RAM to e-Paper and displays
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void Epd::EPD_7IN3F_Display_part(const UBYTE *image, UWORD xstart, UWORD ystart,
|
||||
UWORD image_width, UWORD image_heigh)
|
||||
{
|
||||
unsigned long i,j;
|
||||
|
||||
SendCommand(0x10);
|
||||
for(i=0; i<height; i++) {
|
||||
for(j=0; j< width/2; j++) {
|
||||
if(i<image_heigh+ystart && i>=ystart && j<(image_width+xstart)/2 && j>=xstart/2) {
|
||||
SendData(pgm_read_byte(&image[(j-xstart/2) + (image_width/2*(i-ystart))]));
|
||||
}
|
||||
else {
|
||||
SendData(0x11);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : show 7 kind of color block
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void Epd::EPD_7IN3F_Show7Block(void)
|
||||
{
|
||||
unsigned long i, j, k;
|
||||
unsigned char const Color_seven[8] =
|
||||
{EPD_7IN3F_BLACK, EPD_7IN3F_BLUE, EPD_7IN3F_GREEN, EPD_7IN3F_ORANGE,
|
||||
EPD_7IN3F_RED, EPD_7IN3F_YELLOW, EPD_7IN3F_WHITE, EPD_7IN3F_WHITE};
|
||||
|
||||
SendCommand(0x10);
|
||||
for(i=0; i<240; i++) {
|
||||
for(k = 0 ; k < 4; k ++) {
|
||||
for(j = 0 ; j < 100; j ++) {
|
||||
SendData((Color_seven[k]<<4) |Color_seven[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i=0; i<240; i++) {
|
||||
for(k = 4 ; k < 8; k ++) {
|
||||
for(j = 0 ; j < 100; j ++) {
|
||||
SendData((Color_seven[k]<<4) |Color_seven[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function :
|
||||
Clear screen
|
||||
******************************************************************************/
|
||||
void Epd::Clear(UBYTE color) {
|
||||
SendCommand(0x10);
|
||||
for(int i=0; i<width/2; i++) {
|
||||
for(int j=0; j<height; j++) {
|
||||
SendData((color<<4)|color);
|
||||
}
|
||||
}
|
||||
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: After this command is transmitted, the chip would enter the
|
||||
* deep-sleep mode to save power.
|
||||
* The deep sleep mode would return to standby by hardware reset.
|
||||
* The only one parameter is a check code, the command would be
|
||||
* You can use EPD_Reset() to awaken
|
||||
*/
|
||||
void Epd::Sleep(void) {
|
||||
SendCommand(0x07);
|
||||
SendData(0xA5);
|
||||
DelayMs(10);
|
||||
DigitalWrite(RST_PIN, 0); // Reset
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* END OF FILE */
|
85
Arduino/epd7in3f/epd7in3f.h
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-paper F
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-21
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __EPD_7IN3F_H__
|
||||
#define __EPD_7IN3F_H__
|
||||
|
||||
#include "epdif.h"
|
||||
|
||||
// Display resolution
|
||||
#define EPD_WIDTH 800
|
||||
#define EPD_HEIGHT 480
|
||||
|
||||
#define UWORD unsigned int
|
||||
#define UBYTE unsigned char
|
||||
#define UDOUBLE unsigned long
|
||||
|
||||
/**********************************
|
||||
Color Index
|
||||
**********************************/
|
||||
#define EPD_7IN3F_BLACK 0x0 /// 000
|
||||
#define EPD_7IN3F_WHITE 0x1 /// 001
|
||||
#define EPD_7IN3F_GREEN 0x2 /// 010
|
||||
#define EPD_7IN3F_BLUE 0x3 /// 011
|
||||
#define EPD_7IN3F_RED 0x4 /// 100
|
||||
#define EPD_7IN3F_YELLOW 0x5 /// 101
|
||||
#define EPD_7IN3F_ORANGE 0x6 /// 110
|
||||
#define EPD_7IN3F_CLEAN 0x7 /// 111 unavailable Afterimage
|
||||
|
||||
class Epd : EpdIf {
|
||||
public:
|
||||
Epd();
|
||||
~Epd();
|
||||
int Init(void);
|
||||
void EPD_7IN3F_BusyHigh(void);
|
||||
void TurnOnDisplay(void);
|
||||
void Reset(void);
|
||||
void EPD_7IN3F_Display(const UBYTE *image);
|
||||
void EPD_7IN3F_Display_part(const UBYTE *image, UWORD xstart, UWORD ystart,
|
||||
UWORD image_width, UWORD image_heigh);
|
||||
void EPD_7IN3F_Show7Block(void);
|
||||
void SendCommand(unsigned char command);
|
||||
void SendData(unsigned char data);
|
||||
void Sleep(void);
|
||||
void Clear(UBYTE color);
|
||||
|
||||
private:
|
||||
unsigned int reset_pin;
|
||||
unsigned int dc_pin;
|
||||
unsigned int cs_pin;
|
||||
unsigned int busy_pin;
|
||||
unsigned long width;
|
||||
unsigned long height;
|
||||
};
|
||||
|
||||
#endif /* EPD5IN83B_HD_H */
|
||||
|
||||
/* END OF FILE */
|
57
Arduino/epd7in3f/epd7in3f.ino
Normal file
|
@ -0,0 +1,57 @@
|
|||
/**
|
||||
@filename : EPD_7in3f.ino
|
||||
@brief : EPD_7in3 e-paper F display demo
|
||||
@author : Waveshare
|
||||
|
||||
Copyright (C) Waveshare 10 21 2022
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documnetation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <SPI.h>
|
||||
#include "imagedata.h"
|
||||
#include "epd7in3f.h"
|
||||
|
||||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
Serial.begin(115200);
|
||||
Epd epd;
|
||||
if (epd.Init() != 0) {
|
||||
Serial.print("e-Paper init failed");
|
||||
return;
|
||||
}
|
||||
|
||||
Serial.print("e-Paper Clear\r\n ");
|
||||
epd.Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
Serial.print("Show pic\r\n ");
|
||||
epd.EPD_7IN3F_Display_part(gImage_7in3f, 250, 150, 300, 180);
|
||||
delay(2000);
|
||||
|
||||
Serial.print("draw 7 color block\r\n ");
|
||||
epd.EPD_7IN3F_Show7Block();
|
||||
delay(2000);
|
||||
|
||||
epd.Sleep();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
|
||||
}
|
65
Arduino/epd7in3f/epdif.cpp
Normal file
|
@ -0,0 +1,65 @@
|
|||
/**
|
||||
* @filename : epdif.cpp
|
||||
* @brief : Implements EPD interface functions
|
||||
* Users have to implement all the functions in epdif.cpp
|
||||
* @author : Yehui from Waveshare
|
||||
*
|
||||
* Copyright (C) Waveshare August 10 2017
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documnetation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "epdif.h"
|
||||
#include <spi.h>
|
||||
|
||||
EpdIf::EpdIf() {
|
||||
};
|
||||
|
||||
EpdIf::~EpdIf() {
|
||||
};
|
||||
|
||||
void EpdIf::DigitalWrite(int pin, int value) {
|
||||
digitalWrite(pin, value);
|
||||
}
|
||||
|
||||
int EpdIf::DigitalRead(int pin) {
|
||||
return digitalRead(pin);
|
||||
}
|
||||
|
||||
void EpdIf::DelayMs(unsigned int delaytime) {
|
||||
delay(delaytime);
|
||||
}
|
||||
|
||||
void EpdIf::SpiTransfer(unsigned char data) {
|
||||
digitalWrite(CS_PIN, LOW);
|
||||
SPI.transfer(data);
|
||||
digitalWrite(CS_PIN, HIGH);
|
||||
}
|
||||
|
||||
int EpdIf::IfInit(void) {
|
||||
pinMode(CS_PIN, OUTPUT);
|
||||
pinMode(RST_PIN, OUTPUT);
|
||||
pinMode(DC_PIN, OUTPUT);
|
||||
pinMode(BUSY_PIN, INPUT);
|
||||
SPI.begin();
|
||||
SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
51
Arduino/epd7in3f/epdif.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
* @filename : epdif.h
|
||||
* @brief : Header file of epdif.cpp providing EPD interface functions
|
||||
* Users have to implement all the functions in epdif.cpp
|
||||
* @author : Yehui from Waveshare
|
||||
*
|
||||
* Copyright (C) Waveshare August 10 2017
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documnetation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef EPDIF_H
|
||||
#define EPDIF_H
|
||||
|
||||
#include <arduino.h>
|
||||
|
||||
// Pin definition
|
||||
#define RST_PIN 8
|
||||
#define DC_PIN 9
|
||||
#define CS_PIN 10
|
||||
#define BUSY_PIN 7
|
||||
|
||||
class EpdIf {
|
||||
public:
|
||||
EpdIf(void);
|
||||
~EpdIf(void);
|
||||
|
||||
static int IfInit(void);
|
||||
static void DigitalWrite(int pin, int value);
|
||||
static int DigitalRead(int pin);
|
||||
static void DelayMs(unsigned int delaytime);
|
||||
static void SpiTransfer(unsigned char data);
|
||||
};
|
||||
|
||||
#endif
|
1721
Arduino/epd7in3f/imagedata.cpp
Normal file
28
Arduino/epd7in3f/imagedata.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* @filename : imagedata.h
|
||||
* @brief : head file for imagedata.cpp
|
||||
*
|
||||
* Copyright (C) Waveshare July 8 2020
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documnetation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
extern const unsigned char gImage_7in3f[];
|
||||
|
||||
/* FILE END */
|
|
@ -144,6 +144,9 @@ else ifeq ($(EPD), epd5in83bV2)
|
|||
else ifeq ($(EPD), epd5in84)
|
||||
OBJ_C_EPD = ${DIR_EPD}/EPD_5in84.c
|
||||
OBJ_C_Examples = ${DIR_Examples}/EPD_5in84_test.c
|
||||
else ifeq ($(EPD), epd7in3f)
|
||||
OBJ_C_EPD = ${DIR_EPD}/EPD_7in3f.c
|
||||
OBJ_C_Examples = ${DIR_Examples}/EPD_7in3f_test.c
|
||||
else ifeq ($(EPD), epd7in5)
|
||||
OBJ_C_EPD = ${DIR_EPD}/EPD_7in5.c
|
||||
OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_test.c
|
||||
|
|
162
RaspberryPi_JetsonNano/c/examples/EPD_7in3f_test.c
Normal file
|
@ -0,0 +1,162 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f_test.c
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F) Demo
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-20
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#include "EPD_Test.h"
|
||||
#include "EPD_7in3f.h"
|
||||
#include "time.h"
|
||||
|
||||
int EPD_7in3f_test(void)
|
||||
{
|
||||
printf("EPD_7IN3F_test Demo\r\n");
|
||||
if(DEV_Module_Init()!=0){
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("e-Paper Init and Clear...\r\n");
|
||||
EPD_7IN3F_Init();
|
||||
|
||||
struct timespec start={0,0}, finish={0,0};
|
||||
clock_gettime(CLOCK_REALTIME, &start);
|
||||
EPD_7IN3F_Clear(EPD_7IN3F_WHITE); // WHITE
|
||||
clock_gettime(CLOCK_REALTIME, &finish);
|
||||
printf("%ld S\r\n", finish.tv_sec-start.tv_sec);
|
||||
DEV_Delay_ms(1000);
|
||||
|
||||
//Create a new image cache
|
||||
UBYTE *BlackImage;
|
||||
UDOUBLE Imagesize = ((EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1)) * EPD_7IN3F_HEIGHT;
|
||||
if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) {
|
||||
printf("Failed to apply for black memory...\r\n");
|
||||
return -1;
|
||||
}
|
||||
printf("Paint_NewImage\r\n");
|
||||
Paint_NewImage(BlackImage, EPD_7IN3F_WIDTH, EPD_7IN3F_HEIGHT, 0, EPD_7IN3F_WHITE);
|
||||
Paint_SetScale(7);
|
||||
|
||||
#if 1 // show bmp
|
||||
printf("show bmp1-----------------\r\n");
|
||||
Paint_SelectImage(BlackImage);
|
||||
Paint_Clear(EPD_7IN3F_WHITE);
|
||||
GUI_ReadBmp_RGB_7Color("./pic/7in3f3.bmp", 0, 0);
|
||||
EPD_7IN3F_Display(BlackImage);
|
||||
DEV_Delay_ms(3000);
|
||||
|
||||
printf("show bmp2------------------------\r\n");
|
||||
Paint_SelectImage(BlackImage);
|
||||
GUI_ReadBmp_RGB_7Color("./pic/7in3f1.bmp", 0, 0);
|
||||
EPD_7IN3F_Display(BlackImage);
|
||||
DEV_Delay_ms(3000);
|
||||
#endif
|
||||
|
||||
#if 1 // Drawing on the image
|
||||
// 1.Select Image
|
||||
printf("SelectImage:BlackImage\r\n");
|
||||
Paint_SelectImage(BlackImage);
|
||||
Paint_Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
// 2.Drawing on the image
|
||||
printf("Drawing:BlackImage\r\n");
|
||||
Paint_DrawPoint(10, 80, EPD_7IN3F_RED, DOT_PIXEL_1X1, DOT_STYLE_DFT);
|
||||
Paint_DrawPoint(10, 90, EPD_7IN3F_BLUE, DOT_PIXEL_2X2, DOT_STYLE_DFT);
|
||||
Paint_DrawPoint(10, 100, EPD_7IN3F_GREEN, DOT_PIXEL_3X3, DOT_STYLE_DFT);
|
||||
Paint_DrawLine(20, 70, 70, 120, EPD_7IN3F_ORANGE, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
|
||||
Paint_DrawLine(70, 70, 20, 120, EPD_7IN3F_ORANGE, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
|
||||
Paint_DrawRectangle(20, 70, 70, 120, EPD_7IN3F_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
|
||||
Paint_DrawRectangle(80, 70, 130, 120, EPD_7IN3F_BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
Paint_DrawCircle(45, 95, 20, EPD_7IN3F_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
|
||||
Paint_DrawCircle(105, 95, 20, EPD_7IN3F_WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
Paint_DrawLine(85, 95, 125, 95, EPD_7IN3F_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
|
||||
Paint_DrawLine(105, 75, 105, 115, EPD_7IN3F_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
|
||||
Paint_DrawString_CN(10, 160, "ÄãºÃAbc", &Font12CN, EPD_7IN3F_BLACK, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_CN(10, 180, "΢ѩµç×Ó", &Font24CN, EPD_7IN3F_WHITE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawNum(10, 33, 123456789, &Font12, EPD_7IN3F_BLACK, EPD_7IN3F_WHITE);
|
||||
Paint_DrawNum(10, 50, 987654321, &Font16, EPD_7IN3F_WHITE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(400, 0, "waveshare", &Font16, EPD_7IN3F_BLACK, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(400, 20, "waveshare", &Font16, EPD_7IN3F_GREEN, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(400, 40, "waveshare", &Font16, EPD_7IN3F_BLUE, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(400, 60, "waveshare", &Font16, EPD_7IN3F_RED, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(400, 80, "waveshare", &Font16, EPD_7IN3F_YELLOW, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(400, 100, "waveshare", &Font16, EPD_7IN3F_ORANGE, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(150, 0, "hello world", &Font24, EPD_7IN3F_WHITE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(150, 30, "hello world", &Font24, EPD_7IN3F_GREEN, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(150, 60, "hello world", &Font24, EPD_7IN3F_BLUE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(150, 90, "hello world", &Font24, EPD_7IN3F_RED, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(150, 120, "hello world", &Font24, EPD_7IN3F_YELLOW, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(150, 150, "hello world", &Font24, EPD_7IN3F_ORANGE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(150, 180, "hello world", &Font24, EPD_7IN3F_BLACK, EPD_7IN3F_YELLOW);
|
||||
|
||||
printf("EPD_Display\r\n");
|
||||
EPD_7IN3F_Display(BlackImage);
|
||||
DEV_Delay_ms(3000);
|
||||
#endif
|
||||
|
||||
#if 1 // Drawing on the image
|
||||
//1.Select Image
|
||||
printf("SelectImage:BlackImage\r\n");
|
||||
Paint_SelectImage(BlackImage);
|
||||
Paint_Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
int hNumber, hWidth, vNumber, vWidth;
|
||||
hNumber = 10;
|
||||
hWidth = EPD_7IN3F_HEIGHT/hNumber; // 480/10=48
|
||||
vNumber = 20;
|
||||
vWidth = EPD_7IN3F_WIDTH/vNumber; // 800/20=40
|
||||
|
||||
// 2.Drawing on the image
|
||||
printf("Drawing:BlackImage\r\n");
|
||||
for(int i=0; i<hNumber; i++) { // horizontal
|
||||
Paint_DrawRectangle(1, 1+i*hWidth, EPD_7IN3F_WIDTH, hWidth*(1+i), EPD_7IN3F_BLACK + (i % 2), DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
}
|
||||
for(int i=0; i<vNumber; i++) { // vertical
|
||||
if(i%2) {
|
||||
Paint_DrawRectangle(1+i*vWidth, 1, vWidth*(i+1), EPD_7IN3F_HEIGHT, EPD_7IN3F_GREEN + (i%5), DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
printf("EPD_Display\r\n");
|
||||
EPD_7IN3F_Display(BlackImage);
|
||||
DEV_Delay_ms(3000);
|
||||
#endif
|
||||
|
||||
printf("Clear...\r\n");
|
||||
EPD_7IN3F_Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
printf("Goto Sleep...\r\n");
|
||||
EPD_7IN3F_Sleep();
|
||||
free(BlackImage);
|
||||
BlackImage = NULL;
|
||||
DEV_Delay_ms(2000); // important, at least 2s
|
||||
// close 5V
|
||||
printf("close 5V, Module enters 0 power consumption ...\r\n");
|
||||
DEV_Module_Exit();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -98,6 +98,8 @@ int EPD_5in83b_V2_test(void);
|
|||
|
||||
int EPD_5in84_test(void);
|
||||
|
||||
int EPD_7in3f_test(void);
|
||||
|
||||
int EPD_7in5_test(void);
|
||||
int EPD_7in5_HD_test(void);
|
||||
int EPD_7in5_V2_test(void);
|
||||
|
|
|
@ -154,6 +154,9 @@ int main(void)
|
|||
#elif epd5in84
|
||||
EPD_5in84_test();
|
||||
|
||||
#elif epd7in3f
|
||||
EPD_7in3f_test();
|
||||
|
||||
#elif epd7in5
|
||||
EPD_7in5_test();
|
||||
|
||||
|
|
280
RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in3f.c
Normal file
|
@ -0,0 +1,280 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f.c
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F) Driver
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-20
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#include "EPD_7in3f.h"
|
||||
#include "Debug.h"
|
||||
|
||||
/******************************************************************************
|
||||
function : Software reset
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_Reset(void)
|
||||
{
|
||||
DEV_Digital_Write(EPD_RST_PIN, 1);
|
||||
DEV_Delay_ms(20);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 0);
|
||||
DEV_Delay_ms(2);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 1);
|
||||
DEV_Delay_ms(20);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : send command
|
||||
parameter:
|
||||
Reg : Command register
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_SendCommand(UBYTE Reg)
|
||||
{
|
||||
DEV_Digital_Write(EPD_DC_PIN, 0);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_SPI_WriteByte(Reg);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : send data
|
||||
parameter:
|
||||
Data : Write data
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_SendData(UBYTE Data)
|
||||
{
|
||||
DEV_Digital_Write(EPD_DC_PIN, 1);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_SPI_WriteByte(Data);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Wait until the busy_pin goes LOW
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_ReadBusyH(void)
|
||||
{
|
||||
Debug("e-Paper busy H\r\n");
|
||||
while(!DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: busy, HIGH: idle
|
||||
DEV_Delay_ms(1);
|
||||
}
|
||||
Debug("e-Paper busy H release\r\n");
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Turn On Display
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_TurnOnDisplay(void)
|
||||
{
|
||||
EPD_7IN3F_SendCommand(0x04); // POWER_ON
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
|
||||
EPD_7IN3F_SendCommand(0x12); // DISPLAY_REFRESH
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
|
||||
EPD_7IN3F_SendCommand(0x02); // POWER_OFF
|
||||
EPD_7IN3F_SendData(0X00);
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Initialize the e-Paper register
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Init(void)
|
||||
{
|
||||
EPD_7IN3F_Reset();
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
DEV_Delay_ms(30);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xAA); // CMDH
|
||||
EPD_7IN3F_SendData(0x49);
|
||||
EPD_7IN3F_SendData(0x55);
|
||||
EPD_7IN3F_SendData(0x20);
|
||||
EPD_7IN3F_SendData(0x08);
|
||||
EPD_7IN3F_SendData(0x09);
|
||||
EPD_7IN3F_SendData(0x18);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x01);
|
||||
EPD_7IN3F_SendData(0x3F);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x32);
|
||||
EPD_7IN3F_SendData(0x2A);
|
||||
EPD_7IN3F_SendData(0x0E);
|
||||
EPD_7IN3F_SendData(0x2A);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x00);
|
||||
EPD_7IN3F_SendData(0x5F);
|
||||
EPD_7IN3F_SendData(0x69);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x03);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x54);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x44);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x05);
|
||||
EPD_7IN3F_SendData(0x40);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x2C);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x06);
|
||||
EPD_7IN3F_SendData(0x6F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x16);
|
||||
EPD_7IN3F_SendData(0x25);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x08);
|
||||
EPD_7IN3F_SendData(0x6F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x22);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x13); // IPC
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x04);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x30);
|
||||
EPD_7IN3F_SendData(0x02);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x41); // TSE
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x50);
|
||||
EPD_7IN3F_SendData(0x3F);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x60);
|
||||
EPD_7IN3F_SendData(0x02);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x61);
|
||||
EPD_7IN3F_SendData(0x03);
|
||||
EPD_7IN3F_SendData(0x20);
|
||||
EPD_7IN3F_SendData(0x01);
|
||||
EPD_7IN3F_SendData(0xE0);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x82);
|
||||
EPD_7IN3F_SendData(0x1E);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x84);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x86); // AGID
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xE3);
|
||||
EPD_7IN3F_SendData(0x2F);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xE0); // CCSET
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xE6); // TSSET
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Clear screen
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Clear(UBYTE color)
|
||||
{
|
||||
UWORD Width, Height;
|
||||
Width = (EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1);
|
||||
Height = EPD_7IN3F_HEIGHT;
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for (UWORD j = 0; j < Height; j++) {
|
||||
for (UWORD i = 0; i < Width; i++) {
|
||||
EPD_7IN3F_SendData((color<<4)|color);
|
||||
}
|
||||
}
|
||||
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : show 7 kind of color block
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Show7Block(void)
|
||||
{
|
||||
unsigned long i, j, k;
|
||||
unsigned char const Color_seven[8] =
|
||||
{EPD_7IN3F_BLACK, EPD_7IN3F_BLUE, EPD_7IN3F_GREEN, EPD_7IN3F_ORANGE,
|
||||
EPD_7IN3F_RED, EPD_7IN3F_YELLOW, EPD_7IN3F_WHITE, EPD_7IN3F_WHITE};
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for(i=0; i<240; i++) {
|
||||
for(k = 0 ; k < 4; k ++) {
|
||||
for(j = 0 ; j < 100; j ++) {
|
||||
EPD_7IN3F_SendData((Color_seven[k]<<4) |Color_seven[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i=0; i<240; i++) {
|
||||
for(k = 4 ; k < 8; k ++) {
|
||||
for(j = 0 ; j < 100; j ++) {
|
||||
EPD_7IN3F_SendData((Color_seven[k]<<4) |Color_seven[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Sends the image buffer in RAM to e-Paper and displays
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Display(UBYTE *Image)
|
||||
{
|
||||
UWORD Width, Height;
|
||||
Width = (EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1);
|
||||
Height = EPD_7IN3F_HEIGHT;
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for (UWORD j = 0; j < Height; j++) {
|
||||
for (UWORD i = 0; i < Width; i++) {
|
||||
EPD_7IN3F_SendData(Image[i + j * Width]);
|
||||
}
|
||||
}
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Enter sleep mode
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Sleep(void)
|
||||
{
|
||||
EPD_7IN3F_SendCommand(0x07); // DEEP_SLEEP
|
||||
EPD_7IN3F_SendData(0XA5);
|
||||
}
|
||||
|
58
RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in3f.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F) Driver
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-20
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#ifndef __EPD_7IN3F_H_
|
||||
#define __EPD_7IN3F_H_
|
||||
|
||||
#include "DEV_Config.h"
|
||||
|
||||
// Display resolution
|
||||
#define EPD_7IN3F_WIDTH 800
|
||||
#define EPD_7IN3F_HEIGHT 480
|
||||
|
||||
/**********************************
|
||||
Color Index
|
||||
**********************************/
|
||||
#define EPD_7IN3F_BLACK 0x0 /// 000
|
||||
#define EPD_7IN3F_WHITE 0x1 /// 001
|
||||
#define EPD_7IN3F_GREEN 0x2 /// 010
|
||||
#define EPD_7IN3F_BLUE 0x3 /// 011
|
||||
#define EPD_7IN3F_RED 0x4 /// 100
|
||||
#define EPD_7IN3F_YELLOW 0x5 /// 101
|
||||
#define EPD_7IN3F_ORANGE 0x6 /// 110
|
||||
#define EPD_7IN3F_CLEAN 0x7 /// 111 unavailable Afterimage
|
||||
|
||||
void EPD_7IN3F_Init(void);
|
||||
void EPD_7IN3F_Clear(UBYTE color);
|
||||
void EPD_7IN3F_Show7Block(void);
|
||||
void EPD_7IN3F_Display(UBYTE *Image);
|
||||
void EPD_7IN3F_Sleep(void);
|
||||
|
||||
#endif
|
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
BIN
RaspberryPi_JetsonNano/c/pic/7in3f1.bmp
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
RaspberryPi_JetsonNano/c/pic/7in3f3.bmp
Normal file
After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 66 KiB |
71
RaspberryPi_JetsonNano/python/examples/epd_7in3f_test.py
Normal file
|
@ -0,0 +1,71 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding:utf-8 -*-
|
||||
import sys
|
||||
import os
|
||||
picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic')
|
||||
libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib')
|
||||
if os.path.exists(libdir):
|
||||
sys.path.append(libdir)
|
||||
|
||||
import logging
|
||||
from waveshare_epd import epd7in3f
|
||||
import time
|
||||
from PIL import Image,ImageDraw,ImageFont
|
||||
import traceback
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
try:
|
||||
logging.info("epd7in3f Demo")
|
||||
|
||||
epd = epd7in3f.EPD()
|
||||
logging.info("init and Clear")
|
||||
epd.init()
|
||||
epd.Clear()
|
||||
font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
|
||||
font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
|
||||
font40 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 40)
|
||||
|
||||
# Drawing on the image
|
||||
logging.info("1.Drawing on the image...")
|
||||
Himage = Image.new('RGB', (epd.width, epd.height), epd.WHITE) # 255: clear the frame
|
||||
draw = ImageDraw.Draw(Himage)
|
||||
draw.text((5, 0), 'hello world', font = font18, fill = epd.RED)
|
||||
draw.text((5, 20), '7.3inch e-Paper (F)', font = font24, fill = epd.YELLOW)
|
||||
draw.text((5, 45), u'微雪电子', font = font40, fill = epd.GREEN)
|
||||
draw.text((5, 85), u'微雪电子', font = font40, fill = epd.BLUE)
|
||||
draw.text((5, 125), u'微雪电子', font = font40, fill = epd.ORANGE)
|
||||
|
||||
draw.line((5, 170, 80, 245), fill = epd.BLUE)
|
||||
draw.line((80, 170, 5, 245), fill = epd.ORANGE)
|
||||
draw.rectangle((5, 170, 80, 245), outline = epd.BLACK)
|
||||
draw.rectangle((90, 170, 165, 245), fill = epd.GREEN)
|
||||
draw.arc((5, 250, 80, 325), 0, 360, fill = epd.RED)
|
||||
draw.chord((90, 250, 165, 325), 0, 360, fill = epd.YELLOW)
|
||||
epd.display(epd.getbuffer(Himage))
|
||||
time.sleep(3)
|
||||
|
||||
# read bmp file
|
||||
logging.info("2.read bmp file")
|
||||
Himage = Image.open(os.path.join(picdir, '7in3f1.bmp'))
|
||||
epd.display(epd.getbuffer(Himage))
|
||||
time.sleep(3)
|
||||
|
||||
logging.info("3.read bmp file")
|
||||
Himage = Image.open(os.path.join(picdir, '7in3f3.bmp'))
|
||||
epd.display(epd.getbuffer(Himage))
|
||||
time.sleep(3)
|
||||
|
||||
logging.info("Clear...")
|
||||
epd.Clear()
|
||||
|
||||
logging.info("Goto Sleep...")
|
||||
epd.sleep()
|
||||
|
||||
except IOError as e:
|
||||
logging.info(e)
|
||||
|
||||
except KeyboardInterrupt:
|
||||
logging.info("ctrl + c:")
|
||||
epd7in3f.epdconfig.module_exit()
|
||||
exit()
|
247
RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in3f.py
Normal file
|
@ -0,0 +1,247 @@
|
|||
# *****************************************************************************
|
||||
# * | File : epd7in3f.py
|
||||
# * | Author : Waveshare team
|
||||
# * | Function : Electronic paper driver
|
||||
# * | Info :
|
||||
# *----------------
|
||||
# * | This version: V1.0
|
||||
# * | Date : 2022-10-20
|
||||
# # | Info : python demo
|
||||
# -----------------------------------------------------------------------------
|
||||
# ******************************************************************************/
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
|
||||
import logging
|
||||
from . import epdconfig
|
||||
|
||||
import PIL
|
||||
from PIL import Image
|
||||
import io
|
||||
|
||||
# Display resolution
|
||||
EPD_WIDTH = 800
|
||||
EPD_HEIGHT = 480
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class EPD:
|
||||
def __init__(self):
|
||||
self.reset_pin = epdconfig.RST_PIN
|
||||
self.dc_pin = epdconfig.DC_PIN
|
||||
self.busy_pin = epdconfig.BUSY_PIN
|
||||
self.cs_pin = epdconfig.CS_PIN
|
||||
self.width = EPD_WIDTH
|
||||
self.height = EPD_HEIGHT
|
||||
self.BLACK = 0x000000 # 0000 BGR
|
||||
self.WHITE = 0xffffff # 0001
|
||||
self.GREEN = 0x00ff00 # 0010
|
||||
self.BLUE = 0xff0000 # 0011
|
||||
self.RED = 0x0000ff # 0100
|
||||
self.YELLOW = 0x00ffff # 0101
|
||||
self.ORANGE = 0x0080ff # 0110
|
||||
|
||||
# Hardware reset
|
||||
def reset(self):
|
||||
epdconfig.digital_write(self.reset_pin, 1)
|
||||
epdconfig.delay_ms(20)
|
||||
epdconfig.digital_write(self.reset_pin, 0) # module reset
|
||||
epdconfig.delay_ms(2)
|
||||
epdconfig.digital_write(self.reset_pin, 1)
|
||||
epdconfig.delay_ms(20)
|
||||
|
||||
def send_command(self, command):
|
||||
epdconfig.digital_write(self.dc_pin, 0)
|
||||
epdconfig.digital_write(self.cs_pin, 0)
|
||||
epdconfig.spi_writebyte([command])
|
||||
epdconfig.digital_write(self.cs_pin, 1)
|
||||
|
||||
def send_data(self, data):
|
||||
epdconfig.digital_write(self.dc_pin, 1)
|
||||
epdconfig.digital_write(self.cs_pin, 0)
|
||||
epdconfig.spi_writebyte([data])
|
||||
epdconfig.digital_write(self.cs_pin, 1)
|
||||
|
||||
# send a lot of data
|
||||
def send_data2(self, data):
|
||||
epdconfig.digital_write(self.dc_pin, 1)
|
||||
epdconfig.digital_write(self.cs_pin, 0)
|
||||
epdconfig.spi_writebyte2(data)
|
||||
epdconfig.digital_write(self.cs_pin, 1)
|
||||
|
||||
def ReadBusyH(self):
|
||||
logger.debug("e-Paper busy H")
|
||||
while(epdconfig.digital_read(self.busy_pin) == 0): # 0: busy, 1: idle
|
||||
epdconfig.delay_ms(5)
|
||||
logger.debug("e-Paper busy H release")
|
||||
|
||||
def TurnOnDisplay(self):
|
||||
self.send_command(0x04) # POWER_ON
|
||||
self.ReadBusyH()
|
||||
|
||||
self.send_command(0x12) # DISPLAY_REFRESH
|
||||
self.send_data(0X00)
|
||||
self.ReadBusyH()
|
||||
|
||||
self.send_command(0x02) # POWER_OFF
|
||||
self.send_data(0X00)
|
||||
self.ReadBusyH()
|
||||
|
||||
def init(self):
|
||||
if (epdconfig.module_init() != 0):
|
||||
return -1
|
||||
# EPD hardware init start
|
||||
self.reset()
|
||||
self.ReadBusyH()
|
||||
epdconfig.delay_ms(30)
|
||||
|
||||
self.send_command(0xAA) # CMDH
|
||||
self.send_data(0x49)
|
||||
self.send_data(0x55)
|
||||
self.send_data(0x20)
|
||||
self.send_data(0x08)
|
||||
self.send_data(0x09)
|
||||
self.send_data(0x18)
|
||||
|
||||
self.send_command(0x01)
|
||||
self.send_data(0x3F)
|
||||
self.send_data(0x00)
|
||||
self.send_data(0x32)
|
||||
self.send_data(0x2A)
|
||||
self.send_data(0x0E)
|
||||
self.send_data(0x2A)
|
||||
|
||||
self.send_command(0x00)
|
||||
self.send_data(0x5F)
|
||||
self.send_data(0x69)
|
||||
|
||||
self.send_command(0x03)
|
||||
self.send_data(0x00)
|
||||
self.send_data(0x54)
|
||||
self.send_data(0x00)
|
||||
self.send_data(0x44)
|
||||
|
||||
self.send_command(0x05)
|
||||
self.send_data(0x40)
|
||||
self.send_data(0x1F)
|
||||
self.send_data(0x1F)
|
||||
self.send_data(0x2C)
|
||||
|
||||
self.send_command(0x06)
|
||||
self.send_data(0x6F)
|
||||
self.send_data(0x1F)
|
||||
self.send_data(0x16)
|
||||
self.send_data(0x25)
|
||||
|
||||
self.send_command(0x08)
|
||||
self.send_data(0x6F)
|
||||
self.send_data(0x1F)
|
||||
self.send_data(0x1F)
|
||||
self.send_data(0x22)
|
||||
|
||||
self.send_command(0x13) # IPC
|
||||
self.send_data(0x00)
|
||||
self.send_data(0x04)
|
||||
|
||||
self.send_command(0x30)
|
||||
self.send_data(0x02)
|
||||
|
||||
self.send_command(0x41) # TSE
|
||||
self.send_data(0x00)
|
||||
|
||||
self.send_command(0x50)
|
||||
self.send_data(0x3F)
|
||||
|
||||
self.send_command(0x60)
|
||||
self.send_data(0x02)
|
||||
self.send_data(0x00)
|
||||
|
||||
self.send_command(0x61)
|
||||
self.send_data(0x03)
|
||||
self.send_data(0x20)
|
||||
self.send_data(0x01)
|
||||
self.send_data(0xE0)
|
||||
|
||||
self.send_command(0x82)
|
||||
self.send_data(0x1E)
|
||||
|
||||
self.send_command(0x84)
|
||||
self.send_data(0x00)
|
||||
|
||||
self.send_command(0x86) # AGID
|
||||
self.send_data(0x00)
|
||||
|
||||
self.send_command(0xE3)
|
||||
self.send_data(0x2F)
|
||||
|
||||
self.send_command(0xE0) # CCSET
|
||||
self.send_data(0x00)
|
||||
|
||||
self.send_command(0xE6) # TSSET
|
||||
self.send_data(0x00)
|
||||
return 0
|
||||
|
||||
def getbuffer(self, image):
|
||||
# Create a pallette with the 7 colors supported by the panel
|
||||
pal_image = Image.new("P", (1,1))
|
||||
pal_image.putpalette( (0,0,0, 255,255,255, 0,255,0, 0,0,255, 255,0,0, 255,255,0, 255,128,0) + (0,0,0)*249)
|
||||
|
||||
# Check if we need to rotate the image
|
||||
imwidth, imheight = image.size
|
||||
if(imwidth == self.width and imheight == self.height):
|
||||
image_temp = image
|
||||
elif(imwidth == self.height and imheight == self.width):
|
||||
image_temp = image.rotate(90, expand=True)
|
||||
else:
|
||||
logger.warning("Invalid image dimensions: %d x %d, expected %d x %d" % (imwidth, imheight, self.width, self.height))
|
||||
|
||||
# Convert the soruce image to the 7 colors, dithering if needed
|
||||
image_7color = image_temp.convert("RGB").quantize(palette=pal_image)
|
||||
buf_7color = bytearray(image_7color.tobytes('raw'))
|
||||
|
||||
# PIL does not support 4 bit color, so pack the 4 bits of color
|
||||
# into a single byte to transfer to the panel
|
||||
buf = [0x00] * int(self.width * self.height / 2)
|
||||
idx = 0
|
||||
for i in range(0, len(buf_7color), 2):
|
||||
buf[idx] = (buf_7color[i] << 4) + buf_7color[i+1]
|
||||
idx += 1
|
||||
|
||||
return buf
|
||||
|
||||
def display(self, image):
|
||||
self.send_command(0x10)
|
||||
self.send_data2(image)
|
||||
|
||||
self.TurnOnDisplay()
|
||||
|
||||
def Clear(self, color=0x11):
|
||||
self.send_command(0x10)
|
||||
self.send_data2([color] * int(self.height) * int(self.width/2))
|
||||
|
||||
self.TurnOnDisplay()
|
||||
|
||||
def sleep(self):
|
||||
self.send_command(0x07) # DEEP_SLEEP
|
||||
self.send_data(0XA5)
|
||||
|
||||
epdconfig.delay_ms(2000)
|
||||
epdconfig.module_exit()
|
||||
### END OF FILE ###
|
||||
|
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6 KiB |
BIN
RaspberryPi_JetsonNano/python/pic/7in3f1.bmp
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
RaspberryPi_JetsonNano/python/pic/7in3f3.bmp
Normal file
After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 788 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 66 KiB |
|
@ -0,0 +1,36 @@
|
|||
// File: STM32F101_102_103_105_107.dbgconf
|
||||
// Version: 1.0.0
|
||||
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
|
||||
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
// <h> Debug MCU configuration register (DBGMCU_CR)
|
||||
// <i> Reserved bits must be kept at reset value
|
||||
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
|
||||
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
|
||||
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
|
||||
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
|
||||
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
|
||||
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
|
||||
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
|
||||
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
|
||||
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
|
||||
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
|
||||
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
|
||||
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
|
||||
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
|
||||
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
|
||||
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
|
||||
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
|
||||
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
|
||||
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
|
||||
// <o.2> DBG_STANDBY <i> Debug standby mode
|
||||
// <o.1> DBG_STOP <i> Debug stop mode
|
||||
// <o.0> DBG_SLEEP <i> Debug sleep mode
|
||||
// </h>
|
||||
DbgMCU_CR = 0x00000007;
|
||||
|
||||
// <<< end of configuration section >>>
|
|
@ -0,0 +1,36 @@
|
|||
// File: STM32F101_102_103_105_107.dbgconf
|
||||
// Version: 1.0.0
|
||||
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
|
||||
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
// <h> Debug MCU configuration register (DBGMCU_CR)
|
||||
// <i> Reserved bits must be kept at reset value
|
||||
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
|
||||
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
|
||||
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
|
||||
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
|
||||
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
|
||||
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
|
||||
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
|
||||
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
|
||||
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
|
||||
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
|
||||
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
|
||||
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
|
||||
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
|
||||
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
|
||||
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
|
||||
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
|
||||
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
|
||||
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
|
||||
// <o.2> DBG_STANDBY <i> Debug standby mode
|
||||
// <o.1> DBG_STOP <i> Debug stop mode
|
||||
// <o.0> DBG_SLEEP <i> Debug sleep mode
|
||||
// </h>
|
||||
DbgMCU_CR = 0x00000007;
|
||||
|
||||
// <<< end of configuration section >>>
|
|
@ -0,0 +1,36 @@
|
|||
// File: STM32F101_102_103_105_107.dbgconf
|
||||
// Version: 1.0.0
|
||||
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
|
||||
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
// <h> Debug MCU configuration register (DBGMCU_CR)
|
||||
// <i> Reserved bits must be kept at reset value
|
||||
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
|
||||
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
|
||||
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
|
||||
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
|
||||
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
|
||||
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
|
||||
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
|
||||
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
|
||||
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
|
||||
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
|
||||
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
|
||||
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
|
||||
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
|
||||
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
|
||||
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
|
||||
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
|
||||
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
|
||||
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
|
||||
// <o.2> DBG_STANDBY <i> Debug standby mode
|
||||
// <o.1> DBG_STOP <i> Debug stop mode
|
||||
// <o.0> DBG_SLEEP <i> Debug sleep mode
|
||||
// </h>
|
||||
DbgMCU_CR = 0x00000007;
|
||||
|
||||
// <<< end of configuration section >>>
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
/*
|
||||
* Auto generated Run-Time-Environment Component Configuration File
|
||||
* *** Do not modify ! ***
|
||||
*
|
||||
* Project: 'epd-demo'
|
||||
* Target: 'EPD_7in3f_test'
|
||||
*/
|
||||
|
||||
#ifndef RTE_COMPONENTS_H
|
||||
#define RTE_COMPONENTS_H
|
||||
|
||||
|
||||
/*
|
||||
* Define the Device Header File:
|
||||
*/
|
||||
#define CMSIS_device_header "stm32f10x.h"
|
||||
|
||||
|
||||
#endif /* RTE_COMPONENTS_H */
|
|
@ -8568,6 +8568,193 @@
|
|||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
<Target>
|
||||
<TargetName>EPD_7in3f_test</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>72000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
<HexSelection>1</HexSelection>
|
||||
<FlashByte>65535</FlashByte>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
</OPTHX>
|
||||
<OPTLEX>
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath></ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
<CreateAListing>1</CreateAListing>
|
||||
<CreateLListing>1</CreateLListing>
|
||||
<CreateIListing>0</CreateIListing>
|
||||
<AsmCond>1</AsmCond>
|
||||
<AsmSymb>1</AsmSymb>
|
||||
<AsmXref>0</AsmXref>
|
||||
<CCond>1</CCond>
|
||||
<CCode>0</CCode>
|
||||
<CListInc>0</CListInc>
|
||||
<CSymb>0</CSymb>
|
||||
<LinkerCodeListing>0</LinkerCodeListing>
|
||||
</ListingPage>
|
||||
<OPTXL>
|
||||
<LMap>1</LMap>
|
||||
<LComments>1</LComments>
|
||||
<LGenerateSymbols>1</LGenerateSymbols>
|
||||
<LLibSym>1</LLibSym>
|
||||
<LLines>1</LLines>
|
||||
<LLocSym>1</LLocSym>
|
||||
<LPubSym>1</LPubSym>
|
||||
<LXref>0</LXref>
|
||||
<LExpSel>0</LExpSel>
|
||||
</OPTXL>
|
||||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
<sLdApp>1</sLdApp>
|
||||
<sGomain>1</sGomain>
|
||||
<sRbreak>1</sRbreak>
|
||||
<sRwatch>1</sRwatch>
|
||||
<sRmem>1</sRmem>
|
||||
<sRfunc>1</sRfunc>
|
||||
<sRbox>1</sRbox>
|
||||
<tLdApp>1</tLdApp>
|
||||
<tGomain>1</tGomain>
|
||||
<tRbreak>1</tRbreak>
|
||||
<tRwatch>1</tRwatch>
|
||||
<tRmem>1</tRmem>
|
||||
<tRfunc>1</tRfunc>
|
||||
<tRbox>1</tRbox>
|
||||
<tRtrace>1</tRtrace>
|
||||
<sRSysVw>1</sRSysVw>
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<bSchkAxf>0</bSchkAxf>
|
||||
<bTchkAxf>0</bTchkAxf>
|
||||
<nTsel>6</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
<sDlgPa></sDlgPa>
|
||||
<sIfile></sIfile>
|
||||
<tDll></tDll>
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>-UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x2000A09C</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
<aPa>0</aPa>
|
||||
<viewmode>1</viewmode>
|
||||
<vrSel>0</vrSel>
|
||||
<aSym>0</aSym>
|
||||
<aTbox>0</aTbox>
|
||||
<AscS1>0</AscS1>
|
||||
<AscS2>0</AscS2>
|
||||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>10000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
<Target>
|
||||
<TargetName>EPD_7in3g_test</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
|
@ -10701,6 +10888,18 @@
|
|||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Examples\EPD_7in3f_test.c</PathWithFileName>
|
||||
<FilenameWithoutPath>EPD_7in3f_test.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>49</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Examples\EPD_7in3g_test.c</PathWithFileName>
|
||||
<FilenameWithoutPath>EPD_7in3g_test.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
|
@ -10708,7 +10907,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>49</FileNumber>
|
||||
<FileNumber>50</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10720,7 +10919,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>50</FileNumber>
|
||||
<FileNumber>51</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10732,7 +10931,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>51</FileNumber>
|
||||
<FileNumber>52</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10744,7 +10943,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>52</FileNumber>
|
||||
<FileNumber>53</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10756,7 +10955,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>53</FileNumber>
|
||||
<FileNumber>54</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10768,7 +10967,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>54</FileNumber>
|
||||
<FileNumber>55</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10788,7 +10987,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>55</FileNumber>
|
||||
<FileNumber>56</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10800,7 +10999,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>56</FileNumber>
|
||||
<FileNumber>57</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10812,7 +11011,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>57</FileNumber>
|
||||
<FileNumber>58</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10824,7 +11023,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>58</FileNumber>
|
||||
<FileNumber>59</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10836,7 +11035,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>59</FileNumber>
|
||||
<FileNumber>60</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10848,7 +11047,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>60</FileNumber>
|
||||
<FileNumber>61</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10860,7 +11059,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>61</FileNumber>
|
||||
<FileNumber>62</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10872,7 +11071,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>62</FileNumber>
|
||||
<FileNumber>63</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10884,7 +11083,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>63</FileNumber>
|
||||
<FileNumber>64</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10896,7 +11095,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>64</FileNumber>
|
||||
<FileNumber>65</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10908,7 +11107,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>65</FileNumber>
|
||||
<FileNumber>66</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10920,7 +11119,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>66</FileNumber>
|
||||
<FileNumber>67</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10932,7 +11131,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>67</FileNumber>
|
||||
<FileNumber>68</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10944,7 +11143,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>68</FileNumber>
|
||||
<FileNumber>69</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10956,7 +11155,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>69</FileNumber>
|
||||
<FileNumber>70</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10968,7 +11167,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>70</FileNumber>
|
||||
<FileNumber>71</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10980,7 +11179,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>71</FileNumber>
|
||||
<FileNumber>72</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -10992,7 +11191,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>72</FileNumber>
|
||||
<FileNumber>73</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11004,7 +11203,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>73</FileNumber>
|
||||
<FileNumber>74</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11016,7 +11215,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>74</FileNumber>
|
||||
<FileNumber>75</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11028,7 +11227,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>75</FileNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11040,7 +11239,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11052,7 +11251,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11064,7 +11263,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileNumber>79</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11076,7 +11275,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>79</FileNumber>
|
||||
<FileNumber>80</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11088,7 +11287,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>80</FileNumber>
|
||||
<FileNumber>81</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11100,7 +11299,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>81</FileNumber>
|
||||
<FileNumber>82</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11112,7 +11311,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>82</FileNumber>
|
||||
<FileNumber>83</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11124,7 +11323,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>83</FileNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11136,7 +11335,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11148,7 +11347,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11160,7 +11359,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11172,7 +11371,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11184,7 +11383,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11196,7 +11395,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11208,7 +11407,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11220,7 +11419,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11232,7 +11431,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11244,7 +11443,19 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\e-Paper\EPD_7in3f.c</PathWithFileName>
|
||||
<FilenameWithoutPath>EPD_7in3f.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>95</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11256,7 +11467,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<FileNumber>96</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11268,7 +11479,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>95</FileNumber>
|
||||
<FileNumber>97</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11280,7 +11491,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>96</FileNumber>
|
||||
<FileNumber>98</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11292,7 +11503,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>97</FileNumber>
|
||||
<FileNumber>99</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11304,7 +11515,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>98</FileNumber>
|
||||
<FileNumber>100</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11316,7 +11527,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>99</FileNumber>
|
||||
<FileNumber>101</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11336,7 +11547,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>100</FileNumber>
|
||||
<FileNumber>102</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11356,7 +11567,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>101</FileNumber>
|
||||
<FileNumber>103</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11376,7 +11587,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>102</FileNumber>
|
||||
<FileNumber>104</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11388,7 +11599,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>103</FileNumber>
|
||||
<FileNumber>105</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11400,7 +11611,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>104</FileNumber>
|
||||
<FileNumber>106</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11412,7 +11623,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>105</FileNumber>
|
||||
<FileNumber>107</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11424,7 +11635,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>106</FileNumber>
|
||||
<FileNumber>108</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11436,7 +11647,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>107</FileNumber>
|
||||
<FileNumber>109</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11448,7 +11659,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>108</FileNumber>
|
||||
<FileNumber>110</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11468,7 +11679,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>109</FileNumber>
|
||||
<FileNumber>111</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11480,7 +11691,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>110</FileNumber>
|
||||
<FileNumber>112</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11500,7 +11711,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>111</FileNumber>
|
||||
<FileNumber>113</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11520,7 +11731,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>112</FileNumber>
|
||||
<FileNumber>114</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11532,7 +11743,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>113</FileNumber>
|
||||
<FileNumber>115</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11544,7 +11755,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>114</FileNumber>
|
||||
<FileNumber>116</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11556,7 +11767,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>115</FileNumber>
|
||||
<FileNumber>117</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11568,7 +11779,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>116</FileNumber>
|
||||
<FileNumber>118</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11580,7 +11791,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>117</FileNumber>
|
||||
<FileNumber>119</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11592,7 +11803,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>118</FileNumber>
|
||||
<FileNumber>120</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11604,7 +11815,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>119</FileNumber>
|
||||
<FileNumber>121</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11616,7 +11827,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>120</FileNumber>
|
||||
<FileNumber>122</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11628,7 +11839,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>121</FileNumber>
|
||||
<FileNumber>123</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11640,7 +11851,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>122</FileNumber>
|
||||
<FileNumber>124</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11652,7 +11863,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>123</FileNumber>
|
||||
<FileNumber>125</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11664,7 +11875,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>124</FileNumber>
|
||||
<FileNumber>126</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11676,7 +11887,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>125</FileNumber>
|
||||
<FileNumber>127</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11688,7 +11899,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>126</FileNumber>
|
||||
<FileNumber>128</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -11700,14 +11911,6 @@
|
|||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>New Group</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
|
|
94
STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.build_log.htm
Normal file
|
@ -0,0 +1,94 @@
|
|||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1>µVision Build Log</h1>
|
||||
<h2>Tool Versions:</h2>
|
||||
IDE-Version: ¦ÌVision V5.25.2.0
|
||||
Copyright (C) 2018 ARM Ltd and ARM Germany GmbH. All rights reserved.
|
||||
License Information: ass ass, ass, LIC=JL2UH-W872P-CJR6Z-JYZTW-ESB48-R6YF4
|
||||
|
||||
Tool Versions:
|
||||
Toolchain: MDK-ARM Plus Version: 5.25.2.0
|
||||
Toolchain Path: D:\Program Files\keil5\ARM\ARMCC\Bin
|
||||
C Compiler: Armcc.exe V5.06 update 6 (build 750)
|
||||
Assembler: Armasm.exe V5.06 update 6 (build 750)
|
||||
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
|
||||
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
|
||||
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
|
||||
CPU DLL: SARMCM3.DLL V5.25.2.0
|
||||
Dialog DLL: DCM.DLL V1.17.1.0
|
||||
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.1.0
|
||||
Dialog DLL: TCM.DLL V1.35.1.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
E:\github\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx
|
||||
Project File Date: 10/20/2022
|
||||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\keil5\ARM\ARMCC\Bin'
|
||||
Build target 'epd-demo'
|
||||
assembling startup_stm32f103xe.s...
|
||||
compiling spi.c...
|
||||
compiling usart.c...
|
||||
compiling gpio.c...
|
||||
compiling stm32f1xx_hal_msp.c...
|
||||
compiling DEV_Config.c...
|
||||
compiling stm32f1xx_it.c...
|
||||
compiling main.c...
|
||||
compiling font8.c...
|
||||
compiling font12.c...
|
||||
compiling font12CN.c...
|
||||
compiling font16.c...
|
||||
compiling font24CN.c...
|
||||
compiling font20.c...
|
||||
compiling GUI_Paint.c...
|
||||
compiling font24.c...
|
||||
compiling system_stm32f1xx.c...
|
||||
compiling stm32f1xx_hal_gpio.c...
|
||||
compiling stm32f1xx_hal_gpio_ex.c...
|
||||
compiling stm32f1xx_hal.c...
|
||||
compiling stm32f1xx_hal_spi.c...
|
||||
compiling stm32f1xx_hal_rcc_ex.c...
|
||||
compiling stm32f1xx_hal_dma.c...
|
||||
compiling stm32f1xx_hal_rcc.c...
|
||||
compiling stm32f1xx_hal_flash.c...
|
||||
compiling stm32f1xx_hal_tim.c...
|
||||
compiling stm32f1xx_hal_exti.c...
|
||||
compiling stm32f1xx_hal_tim_ex.c...
|
||||
compiling stm32f1xx_hal_pwr.c...
|
||||
compiling stm32f1xx_hal_cortex.c...
|
||||
compiling stm32f1xx_hal_flash_ex.c...
|
||||
compiling stm32f1xx_hal_uart.c...
|
||||
linking...
|
||||
epd-demo\epd-demo.axf: Error: L6218E: Undefined symbol EPD_test (referred from main.o).
|
||||
Not enough information to list image symbols.
|
||||
Not enough information to list load addresses in the image map.
|
||||
Finished: 2 information, 0 warning and 1 error messages.
|
||||
"epd-demo\epd-demo.axf" - 1 Error(s), 0 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
||||
Package Vendor: ARM
|
||||
http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack
|
||||
ARM.CMSIS.5.7.0
|
||||
CMSIS (Cortex Microcontroller Software Interface Standard)
|
||||
* Component: CORE Version: 5.4.0
|
||||
|
||||
Package Vendor: Keil
|
||||
http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.3.0.pack
|
||||
Keil.STM32F1xx_DFP.2.3.0
|
||||
STMicroelectronics STM32F1 Series Device Support, Drivers and Examples
|
||||
|
||||
<h2>Collection of Component include folders:</h2>
|
||||
.\RTE\_epd-demo
|
||||
D:\Program Files\keil5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\Core\Include
|
||||
D:\Program Files\keil5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include
|
||||
|
||||
<h2>Collection of Component Files used:</h2>
|
||||
|
||||
* Component: ARM::CMSIS:CORE:5.4.0
|
||||
Target not created.
|
||||
Build Time Elapsed: 00:00:15
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
1944
STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm
Normal file
|
@ -16,7 +16,6 @@ Section Cross References
|
|||
main.o(.text) refers to gpio.o(.text) for MX_GPIO_Init
|
||||
main.o(.text) refers to usart.o(.text) for MX_USART1_UART_Init
|
||||
main.o(.text) refers to spi.o(.text) for MX_SPI1_Init
|
||||
main.o(.text) refers to epd_3in52_test.o(.text) for EPD_test
|
||||
gpio.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin
|
||||
spi.o(.text) refers to stm32f1xx_hal_spi.o(.text) for HAL_SPI_Init
|
||||
spi.o(.text) refers to main.o(.text) for Error_Handler
|
||||
|
@ -28,22 +27,6 @@ Section Cross References
|
|||
usart.o(.text) refers to usart.o(.bss) for .bss
|
||||
stm32f1xx_it.o(.text) refers to printf3.o(i.__0printf$3) for __2printf
|
||||
stm32f1xx_it.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_IncTick
|
||||
epd_3in52_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf
|
||||
epd_3in52_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init
|
||||
epd_3in52_test.o(.text) refers to epd_3in52.o(.text) for EPD_3IN52_Init
|
||||
epd_3in52_test.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay
|
||||
epd_3in52_test.o(.text) refers to malloc.o(i.malloc) for malloc
|
||||
epd_3in52_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage
|
||||
epd_3in52_test.o(.text) refers to malloc.o(i.free) for free
|
||||
epd_3in52_test.o(.text) refers to imagedata.o(.constdata) for gImage_3in52
|
||||
epd_3in52_test.o(.text) refers to font16.o(.data) for Font16
|
||||
epd_3in52_test.o(.text) refers to font12.o(.data) for Font12
|
||||
epd_3in52.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin
|
||||
epd_3in52.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay
|
||||
epd_3in52.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte
|
||||
epd_3in52.o(.text) refers to printf3.o(i.__0printf$3) for __2printf
|
||||
epd_3in52.o(.text) refers to epd_3in52.o(.constdata) for .constdata
|
||||
epd_3in52.o(.text) refers to epd_3in52.o(.data) for .data
|
||||
dev_config.o(.text) refers to stm32f1xx_hal_spi.o(.text) for HAL_SPI_Transmit
|
||||
dev_config.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin
|
||||
dev_config.o(.text) refers to spi.o(.bss) for hspi1
|
||||
|
@ -51,6 +34,12 @@ Section Cross References
|
|||
gui_paint.o(.text) refers to gui_paint.o(.bss) for .bss
|
||||
gui_paint.o(.text) refers to gui_paint.o(.conststring) for .conststring
|
||||
gui_paint.o(.text) refers to memseta.o(.text) for __aeabi_memclr4
|
||||
gui_paint.o(.text) refers to dfixi.o(.text) for __aeabi_d2iz
|
||||
gui_paint.o(.text) refers to dflti.o(.text) for __aeabi_i2d
|
||||
gui_paint.o(.text) refers to dadd.o(.text) for __aeabi_drsub
|
||||
gui_paint.o(.text) refers to d2f.o(.text) for __aeabi_d2f
|
||||
gui_paint.o(.text) refers to fmul.o(.text) for __aeabi_fmul
|
||||
gui_paint.o(.text) refers to ffixi.o(.text) for __aeabi_f2iz
|
||||
font8.o(.data) refers to font8.o(.constdata) for Font8_Table
|
||||
font12.o(.data) refers to font12.o(.constdata) for Font12_Table
|
||||
font12cn.o(.data) refers to font12cn.o(.constdata) for Font12CN_Table
|
||||
|
@ -331,38 +320,18 @@ Section Cross References
|
|||
printfa.o(i._printf_pre_padding) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
printfa.o(i._snputc) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
printfa.o(i._sputc) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
malloc.o(i.free) refers to mvars.o(.data) for __microlib_freelist
|
||||
malloc.o(i.malloc) refers to mvars.o(.data) for __microlib_freelist_initialised
|
||||
malloc.o(i.malloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
malloc.o(i.malloc) refers to startup_stm32f103xe.o(HEAP) for __heap_base
|
||||
mallocr.o(i.__free$realloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
mallocr.o(i.__malloc$realloc) refers to mallocr.o(i.internal_alloc) for internal_alloc
|
||||
mallocr.o(i.__malloc$realloc) refers to mvars.o(.data) for __microlib_freelist_initialised
|
||||
mallocr.o(i.__malloc$realloc) refers to startup_stm32f103xe.o(HEAP) for __heap_base
|
||||
mallocr.o(i.__malloc$realloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
mallocr.o(i.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy
|
||||
mallocr.o(i.internal_alloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
mallocr.o(i.realloc) refers to mallocr.o(i.__free$realloc) for __free$realloc
|
||||
mallocr.o(i.realloc) refers to mallocr.o(i.internal_alloc) for internal_alloc
|
||||
mallocr.o(i.realloc) refers to mallocr.o(i.__malloc$realloc) for __malloc$realloc
|
||||
mallocr.o(i.realloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
malloca.o(i.__aligned_malloc) refers to mvars.o(.data) for __microlib_freelist_initialised
|
||||
malloca.o(i.__aligned_malloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
malloca.o(i.__aligned_malloc) refers to startup_stm32f103xe.o(HEAP) for __heap_base
|
||||
malloca.o(i.__free$memalign) refers to mvars.o(.data) for __microlib_freelist
|
||||
malloca.o(i.__malloc$memalign) refers to malloca.o(i.__aligned_malloc) for __aligned_malloc
|
||||
mallocra.o(i.__aligned_malloc$realloc) refers to mallocra.o(i.internal_alloc) for internal_alloc
|
||||
mallocra.o(i.__aligned_malloc$realloc) refers to mvars.o(.data) for __microlib_freelist_initialised
|
||||
mallocra.o(i.__aligned_malloc$realloc) refers to startup_stm32f103xe.o(HEAP) for __heap_base
|
||||
mallocra.o(i.__aligned_malloc$realloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
mallocra.o(i.__free$realloc$memalign) refers to mvars.o(.data) for __microlib_freelist
|
||||
mallocra.o(i.__malloc$realloc$memalign) refers to mallocra.o(i.__aligned_malloc$realloc) for __aligned_malloc$realloc
|
||||
mallocra.o(i.__realloc$memalign) refers to mallocra.o(i.__free$realloc$memalign) for __free$realloc$memalign
|
||||
mallocra.o(i.__realloc$memalign) refers to mallocra.o(i.internal_alloc) for internal_alloc
|
||||
mallocra.o(i.__realloc$memalign) refers to mallocra.o(i.__malloc$realloc$memalign) for __malloc$realloc$memalign
|
||||
mallocra.o(i.__realloc$memalign) refers to mvars.o(.data) for __microlib_freelist
|
||||
mallocra.o(i.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy
|
||||
mallocra.o(i.internal_alloc) refers to mvars.o(.data) for __microlib_freelist
|
||||
fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl
|
||||
dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr
|
||||
dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue
|
||||
dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue
|
||||
ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
dfixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
dfixi.o(.text) refers to llushr.o(.text) for __aeabi_llsr
|
||||
d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
d2f.o(.text) refers to fepilogue.o(.text) for _float_round
|
||||
entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
|
||||
entry2.o(.ARM.Collect$$$$00002712) refers to startup_stm32f103xe.o(STACK) for __initial_sp
|
||||
entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f103xe.o(STACK) for __initial_sp
|
||||
|
@ -372,22 +341,20 @@ Section Cross References
|
|||
entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(.text) for main
|
||||
uldiv.o(.text) refers to llushr.o(.text) for __aeabi_llsr
|
||||
uldiv.o(.text) refers to llshl.o(.text) for __aeabi_llsl
|
||||
dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl
|
||||
dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr
|
||||
dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue
|
||||
depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl
|
||||
depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr
|
||||
dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue
|
||||
ddiv.o(.text) refers to depilogue.o(.text) for _double_round
|
||||
dfixul.o(.text) refers to llushr.o(.text) for __aeabi_llsr
|
||||
dfixul.o(.text) refers to llshl.o(.text) for __aeabi_llsl
|
||||
init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload
|
||||
depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl
|
||||
depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
Removing Unused input sections from the image.
|
||||
|
||||
Removing startup_stm32f103xe.o(HEAP), (49152 bytes).
|
||||
Removing main.o(.rev16_text), (4 bytes).
|
||||
Removing main.o(.revsh_text), (4 bytes).
|
||||
Removing main.o(.rrx_text), (6 bytes).
|
||||
|
@ -406,66 +373,24 @@ Removing Unused input sections from the image.
|
|||
Removing stm32f1xx_hal_msp.o(.rev16_text), (4 bytes).
|
||||
Removing stm32f1xx_hal_msp.o(.revsh_text), (4 bytes).
|
||||
Removing stm32f1xx_hal_msp.o(.rrx_text), (6 bytes).
|
||||
Removing imagedata.o(.constdata), (656 bytes).
|
||||
Removing imagedata.o(.constdata), (2560 bytes).
|
||||
Removing imagedata.o(.constdata), (5000 bytes).
|
||||
Removing imagedata.o(.constdata), (5000 bytes).
|
||||
Removing imagedata.o(.constdata), (5000 bytes).
|
||||
Removing imagedata.o(.constdata), (2888 bytes).
|
||||
Removing imagedata.o(.constdata), (2888 bytes).
|
||||
Removing imagedata.o(.constdata), (5808 bytes).
|
||||
Removing imagedata.o(.constdata), (5808 bytes).
|
||||
Removing imagedata.o(.constdata), (5808 bytes).
|
||||
Removing imagedata.o(.constdata), (5808 bytes).
|
||||
Removing imagedata.o(.constdata), (5808 bytes).
|
||||
Removing imagedata.o(.constdata), (11616 bytes).
|
||||
Removing imagedata.o(.constdata), (4736 bytes).
|
||||
Removing imagedata.o(.constdata), (4736 bytes).
|
||||
Removing imagedata.o(.constdata), (4736 bytes).
|
||||
Removing imagedata.o(.constdata), (4000 bytes).
|
||||
Removing imagedata.o(.constdata), (2756 bytes).
|
||||
Removing imagedata.o(.constdata), (2756 bytes).
|
||||
Removing imagedata.o(.constdata), (2756 bytes).
|
||||
Removing imagedata.o(.constdata), (2756 bytes).
|
||||
Removing imagedata.o(.constdata), (2756 bytes).
|
||||
Removing imagedata.o(.constdata), (5630 bytes).
|
||||
Removing imagedata.o(.constdata), (5630 bytes).
|
||||
Removing imagedata.o(.constdata), (5630 bytes).
|
||||
Removing imagedata.o(.constdata), (33606 bytes).
|
||||
Removing imagedata.o(.constdata), (128000 bytes).
|
||||
Removing imagedata.o(.constdata), (15000 bytes).
|
||||
Removing imagedata.o(.constdata), (30000 bytes).
|
||||
Removing imagedata.o(.constdata), (15000 bytes).
|
||||
Removing imagedata.o(.constdata), (15000 bytes).
|
||||
Removing imagedata.o(.constdata), (13728 bytes).
|
||||
Removing imagedata.o(.constdata), (33600 bytes).
|
||||
Removing imagedata.o(.constdata), (38886 bytes).
|
||||
Removing imagedata.o(.constdata), (33600 bytes).
|
||||
Removing imagedata.o(.constdata), (33600 bytes).
|
||||
Removing imagedata.o(.constdata), (38886 bytes).
|
||||
Removing imagedata.o(.constdata), (38886 bytes).
|
||||
Removing imagedata.o(.constdata), (30720 bytes).
|
||||
Removing imagedata.o(.constdata), (48000 bytes).
|
||||
Removing imagedata.o(.constdata), (30720 bytes).
|
||||
Removing imagedata.o(.constdata), (30720 bytes).
|
||||
Removing imagedata.o(.constdata), (48000 bytes).
|
||||
Removing imagedata.o(.constdata), (48000 bytes).
|
||||
Removing epd_3in52_test.o(.rev16_text), (4 bytes).
|
||||
Removing epd_3in52_test.o(.revsh_text), (4 bytes).
|
||||
Removing epd_3in52_test.o(.rrx_text), (6 bytes).
|
||||
Removing epd_3in52.o(.rev16_text), (4 bytes).
|
||||
Removing epd_3in52.o(.revsh_text), (4 bytes).
|
||||
Removing epd_3in52.o(.rrx_text), (6 bytes).
|
||||
Removing dev_config.o(.rev16_text), (4 bytes).
|
||||
Removing dev_config.o(.revsh_text), (4 bytes).
|
||||
Removing dev_config.o(.rrx_text), (6 bytes).
|
||||
Removing dev_config.o(.text), (104 bytes).
|
||||
Removing gui_paint.o(.rev16_text), (4 bytes).
|
||||
Removing gui_paint.o(.revsh_text), (4 bytes).
|
||||
Removing gui_paint.o(.rrx_text), (6 bytes).
|
||||
Removing gui_paint.o(.text), (4020 bytes).
|
||||
Removing gui_paint.o(.bss), (24 bytes).
|
||||
Removing gui_paint.o(.conststring), (236 bytes).
|
||||
Removing font8.o(.constdata), (760 bytes).
|
||||
Removing font8.o(.data), (8 bytes).
|
||||
Removing font12.o(.constdata), (1140 bytes).
|
||||
Removing font12.o(.data), (8 bytes).
|
||||
Removing font12cn.o(.constdata), (1494 bytes).
|
||||
Removing font12cn.o(.data), (12 bytes).
|
||||
Removing font16.o(.constdata), (3040 bytes).
|
||||
Removing font16.o(.data), (8 bytes).
|
||||
Removing font20.o(.constdata), (3800 bytes).
|
||||
Removing font20.o(.data), (8 bytes).
|
||||
Removing font24.o(.constdata), (6840 bytes).
|
||||
|
@ -527,790 +452,17 @@ Removing Unused input sections from the image.
|
|||
Removing stm32f1xx_hal_uart.o(.rev16_text), (4 bytes).
|
||||
Removing stm32f1xx_hal_uart.o(.revsh_text), (4 bytes).
|
||||
Removing stm32f1xx_hal_uart.o(.rrx_text), (6 bytes).
|
||||
Removing fmul.o(.text), (100 bytes).
|
||||
Removing dadd.o(.text), (334 bytes).
|
||||
Removing dflti.o(.text), (34 bytes).
|
||||
Removing ffixi.o(.text), (50 bytes).
|
||||
Removing dfixi.o(.text), (62 bytes).
|
||||
Removing d2f.o(.text), (56 bytes).
|
||||
Removing fepilogue.o(.text), (110 bytes).
|
||||
Removing depilogue.o(.text), (186 bytes).
|
||||
Removing dmul.o(.text), (228 bytes).
|
||||
Removing ddiv.o(.text), (222 bytes).
|
||||
Removing dfixul.o(.text), (48 bytes).
|
||||
Removing cdrcmple.o(.text), (48 bytes).
|
||||
Removing depilogue.o(.text), (186 bytes).
|
||||
|
||||
145 unused section(s) (total 840144 bytes) removed from the image.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Image Symbol Table
|
||||
|
||||
Local Symbols
|
||||
|
||||
Symbol Name Value Ov Type Size Object(Section)
|
||||
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c 0x00000000 Number 0 stm32f1xx_hal.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c 0x00000000 Number 0 stm32f1xx_hal_cortex.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c 0x00000000 Number 0 stm32f1xx_hal_dma.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c 0x00000000 Number 0 stm32f1xx_hal_exti.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c 0x00000000 Number 0 stm32f1xx_hal_flash.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c 0x00000000 Number 0 stm32f1xx_hal_flash_ex.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c 0x00000000 Number 0 stm32f1xx_hal_gpio.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c 0x00000000 Number 0 stm32f1xx_hal_gpio_ex.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c 0x00000000 Number 0 stm32f1xx_hal_pwr.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c 0x00000000 Number 0 stm32f1xx_hal_rcc.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c 0x00000000 Number 0 stm32f1xx_hal_rcc_ex.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c 0x00000000 Number 0 stm32f1xx_hal_spi.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE
|
||||
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE
|
||||
../Src/gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
|
||||
../Src/main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||
../Src/spi.c 0x00000000 Number 0 spi.o ABSOLUTE
|
||||
../Src/stm32f1xx_hal_msp.c 0x00000000 Number 0 stm32f1xx_hal_msp.o ABSOLUTE
|
||||
../Src/stm32f1xx_it.c 0x00000000 Number 0 stm32f1xx_it.o ABSOLUTE
|
||||
../Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
|
||||
../Src/usart.c 0x00000000 Number 0 usart.o ABSOLUTE
|
||||
../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
|
||||
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
|
||||
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
|
||||
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE
|
||||
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE
|
||||
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE
|
||||
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE
|
||||
../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE
|
||||
../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE
|
||||
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE
|
||||
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE
|
||||
../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE
|
||||
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
|
||||
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
|
||||
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
|
||||
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
|
||||
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE
|
||||
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c 0x00000000 Number 0 stm32f1xx_hal.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c 0x00000000 Number 0 stm32f1xx_hal_cortex.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c 0x00000000 Number 0 stm32f1xx_hal_dma.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c 0x00000000 Number 0 stm32f1xx_hal_exti.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c 0x00000000 Number 0 stm32f1xx_hal_flash.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c 0x00000000 Number 0 stm32f1xx_hal_flash_ex.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c 0x00000000 Number 0 stm32f1xx_hal_gpio.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c 0x00000000 Number 0 stm32f1xx_hal_gpio_ex.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c 0x00000000 Number 0 stm32f1xx_hal_pwr.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c 0x00000000 Number 0 stm32f1xx_hal_rcc.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c 0x00000000 Number 0 stm32f1xx_hal_rcc_ex.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_spi.c 0x00000000 Number 0 stm32f1xx_hal_spi.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE
|
||||
..\Src\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
|
||||
..\Src\main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||
..\Src\spi.c 0x00000000 Number 0 spi.o ABSOLUTE
|
||||
..\Src\stm32f1xx_hal_msp.c 0x00000000 Number 0 stm32f1xx_hal_msp.o ABSOLUTE
|
||||
..\Src\stm32f1xx_it.c 0x00000000 Number 0 stm32f1xx_it.o ABSOLUTE
|
||||
..\Src\system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
|
||||
..\Src\usart.c 0x00000000 Number 0 usart.o ABSOLUTE
|
||||
..\User\Config\DEV_Config.c 0x00000000 Number 0 dev_config.o ABSOLUTE
|
||||
..\User\Examples\EPD_3in52_test.c 0x00000000 Number 0 epd_3in52_test.o ABSOLUTE
|
||||
..\User\Examples\ImageData.c 0x00000000 Number 0 imagedata.o ABSOLUTE
|
||||
..\User\Fonts\font12.c 0x00000000 Number 0 font12.o ABSOLUTE
|
||||
..\User\Fonts\font12CN.c 0x00000000 Number 0 font12cn.o ABSOLUTE
|
||||
..\User\Fonts\font16.c 0x00000000 Number 0 font16.o ABSOLUTE
|
||||
..\User\Fonts\font20.c 0x00000000 Number 0 font20.o ABSOLUTE
|
||||
..\User\Fonts\font24.c 0x00000000 Number 0 font24.o ABSOLUTE
|
||||
..\User\Fonts\font24CN.c 0x00000000 Number 0 font24cn.o ABSOLUTE
|
||||
..\User\Fonts\font8.c 0x00000000 Number 0 font8.o ABSOLUTE
|
||||
..\User\GUI\GUI_Paint.c 0x00000000 Number 0 gui_paint.o ABSOLUTE
|
||||
..\User\e-Paper\EPD_3in52.c 0x00000000 Number 0 epd_3in52.o ABSOLUTE
|
||||
..\\User\\Config\\DEV_Config.c 0x00000000 Number 0 dev_config.o ABSOLUTE
|
||||
..\\User\\Examples\\EPD_3in52_test.c 0x00000000 Number 0 epd_3in52_test.o ABSOLUTE
|
||||
..\\User\\GUI\\GUI_Paint.c 0x00000000 Number 0 gui_paint.o ABSOLUTE
|
||||
..\\User\\e-Paper\\EPD_3in52.c 0x00000000 Number 0 epd_3in52.o ABSOLUTE
|
||||
cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE
|
||||
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
|
||||
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
|
||||
init.s 0x00000000 Number 0 init.o ABSOLUTE
|
||||
startup_stm32f103xe.s 0x00000000 Number 0 startup_stm32f103xe.o ABSOLUTE
|
||||
RESET 0x08000000 Section 304 startup_stm32f103xe.o(RESET)
|
||||
.ARM.Collect$$$$00000000 0x08000130 Section 0 entry.o(.ARM.Collect$$$$00000000)
|
||||
.ARM.Collect$$$$00000001 0x08000130 Section 4 entry2.o(.ARM.Collect$$$$00000001)
|
||||
.ARM.Collect$$$$00000004 0x08000134 Section 4 entry5.o(.ARM.Collect$$$$00000004)
|
||||
.ARM.Collect$$$$00000008 0x08000138 Section 0 entry7b.o(.ARM.Collect$$$$00000008)
|
||||
.ARM.Collect$$$$0000000A 0x08000138 Section 0 entry8b.o(.ARM.Collect$$$$0000000A)
|
||||
.ARM.Collect$$$$0000000B 0x08000138 Section 8 entry9a.o(.ARM.Collect$$$$0000000B)
|
||||
.ARM.Collect$$$$0000000D 0x08000140 Section 0 entry10a.o(.ARM.Collect$$$$0000000D)
|
||||
.ARM.Collect$$$$0000000F 0x08000140 Section 0 entry11a.o(.ARM.Collect$$$$0000000F)
|
||||
.ARM.Collect$$$$00002712 0x08000140 Section 4 entry2.o(.ARM.Collect$$$$00002712)
|
||||
__lit__00000000 0x08000140 Data 4 entry2.o(.ARM.Collect$$$$00002712)
|
||||
.text 0x08000144 Section 36 startup_stm32f103xe.o(.text)
|
||||
.text 0x08000168 Section 0 main.o(.text)
|
||||
.text 0x08000200 Section 0 gpio.o(.text)
|
||||
.text 0x08000260 Section 0 spi.o(.text)
|
||||
.text 0x0800031c Section 0 usart.o(.text)
|
||||
.text 0x080003f4 Section 0 stm32f1xx_it.o(.text)
|
||||
.text 0x08000424 Section 0 stm32f1xx_hal_msp.o(.text)
|
||||
.text 0x08000460 Section 0 epd_3in52_test.o(.text)
|
||||
.text 0x08000794 Section 0 epd_3in52.o(.text)
|
||||
.text 0x08000c60 Section 0 dev_config.o(.text)
|
||||
.text 0x08000cc8 Section 0 gui_paint.o(.text)
|
||||
.text 0x08001b74 Section 0 system_stm32f1xx.o(.text)
|
||||
.text 0x08001c38 Section 0 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_WaitFlagStateUntilTimeout 0x08001d21 Thumb Code 210 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_EndRxTxTransaction 0x08001df3 Thumb Code 36 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_EndRxTransaction 0x08001fb3 Thumb Code 112 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_CloseTx_ISR 0x08002393 Thumb Code 130 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_TxISR_8BIT 0x08002415 Thumb Code 30 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_TxISR_16BIT 0x08002433 Thumb Code 30 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_CloseRx_ISR 0x080024f5 Thumb Code 76 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_RxISR_8BIT 0x08002541 Thumb Code 30 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_RxISR_16BIT 0x0800255f Thumb Code 30 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_CloseRxTx_ISR 0x0800257f Thumb Code 158 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_2linesTxISR_8BIT 0x0800261d Thumb Code 46 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_2linesRxISR_8BIT 0x0800264b Thumb Code 46 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_2linesTxISR_16BIT 0x08002679 Thumb Code 46 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_2linesRxISR_16BIT 0x080026a7 Thumb Code 46 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMAError 0x08002841 Thumb Code 34 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMATransmitCplt 0x08002863 Thumb Code 102 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMAHalfTransmitCplt 0x080028cb Thumb Code 10 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMAReceiveCplt 0x080029a5 Thumb Code 110 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMAHalfReceiveCplt 0x08002a15 Thumb Code 10 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMATransmitReceiveCplt 0x08002a1f Thumb Code 92 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMAHalfTransmitReceiveCplt 0x08002a7d Thumb Code 10 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_AbortRx_ISR 0x08002ccb Thumb Code 82 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_AbortTx_ISR 0x08002d1d Thumb Code 28 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMARxAbortCallback 0x08002e5d Thumb Code 98 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMATxAbortCallback 0x08002ebf Thumb Code 114 stm32f1xx_hal_spi.o(.text)
|
||||
SPI_DMAAbortOnError 0x08003109 Thumb Code 16 stm32f1xx_hal_spi.o(.text)
|
||||
.text 0x08003220 Section 0 stm32f1xx_hal.o(.text)
|
||||
.text 0x080033a8 Section 0 stm32f1xx_hal_rcc.o(.text)
|
||||
RCC_Delay 0x080034a3 Thumb Code 32 stm32f1xx_hal_rcc.o(.text)
|
||||
.text 0x08003c70 Section 0 stm32f1xx_hal_gpio.o(.text)
|
||||
.text 0x08004044 Section 0 stm32f1xx_hal_dma.o(.text)
|
||||
DMA_SetConfig 0x08004153 Thumb Code 56 stm32f1xx_hal_dma.o(.text)
|
||||
.text 0x08004c8c Section 0 stm32f1xx_hal_cortex.o(.text)
|
||||
.text 0x08004eb0 Section 0 stm32f1xx_hal_uart.o(.text)
|
||||
UART_SetConfig 0x08004eb1 Thumb Code 194 stm32f1xx_hal_uart.o(.text)
|
||||
UART_WaitOnFlagUntilTimeout 0x08005191 Thumb Code 120 stm32f1xx_hal_uart.o(.text)
|
||||
UART_EndRxTransfer 0x08005441 Thumb Code 28 stm32f1xx_hal_uart.o(.text)
|
||||
UART_EndTxTransfer 0x0800545d Thumb Code 18 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMAError 0x0800546f Thumb Code 74 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMATxHalfCplt 0x080054bb Thumb Code 10 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMATransmitCplt 0x080054c7 Thumb Code 48 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMARxHalfCplt 0x08005583 Thumb Code 10 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMAReceiveCplt 0x0800558f Thumb Code 62 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMARxAbortCallback 0x080058c3 Thumb Code 44 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMATxAbortCallback 0x080058ef Thumb Code 66 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMATxOnlyAbortCallback 0x080059e5 Thumb Code 20 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMARxOnlyAbortCallback 0x08005a59 Thumb Code 20 stm32f1xx_hal_uart.o(.text)
|
||||
UART_EndTransmit_IT 0x08005ad5 Thumb Code 26 stm32f1xx_hal_uart.o(.text)
|
||||
UART_Transmit_IT 0x08005aef Thumb Code 94 stm32f1xx_hal_uart.o(.text)
|
||||
UART_DMAAbortOnError 0x08005b4d Thumb Code 16 stm32f1xx_hal_uart.o(.text)
|
||||
UART_Receive_IT 0x08005b5d Thumb Code 146 stm32f1xx_hal_uart.o(.text)
|
||||
.text 0x08005e4c Section 0 memseta.o(.text)
|
||||
.text 0x08005e70 Section 0 uidiv.o(.text)
|
||||
.text 0x08005e9c Section 36 init.o(.text)
|
||||
i.__0printf$3 0x08005ec0 Section 0 printf3.o(i.__0printf$3)
|
||||
i.__scatterload_copy 0x08005ee0 Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x08005eee Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x08005ef0 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i._printf_core 0x08005f00 Section 0 printf3.o(i._printf_core)
|
||||
_printf_core 0x08005f01 Thumb Code 436 printf3.o(i._printf_core)
|
||||
i.free 0x080060b8 Section 0 malloc.o(i.free)
|
||||
i.malloc 0x08006108 Section 0 malloc.o(i.malloc)
|
||||
.constdata 0x08006174 Section 10800 imagedata.o(.constdata)
|
||||
.constdata 0x08008ba4 Section 714 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R20_GC 0x08008ba4 Data 56 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R21_GC 0x08008bdc Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R22_GC 0x08008c06 Data 56 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R23_GC 0x08008c3e Data 56 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R24_GC 0x08008c76 Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R20_DU 0x08008ca0 Data 56 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R21_DU 0x08008cd8 Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R22_DU 0x08008d02 Data 56 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R23_DU 0x08008d3a Data 56 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_R24_DU 0x08008d72 Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_vcom 0x08008d9c Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_ww 0x08008dc6 Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_bw 0x08008df0 Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_wb 0x08008e1a Data 42 epd_3in52.o(.constdata)
|
||||
EPD_3IN52_lut_bb 0x08008e44 Data 42 epd_3in52.o(.constdata)
|
||||
.constdata 0x08008e6e Section 1140 font12.o(.constdata)
|
||||
.constdata 0x080092e2 Section 3040 font16.o(.constdata)
|
||||
.constdata 0x08009ec2 Section 16 system_stm32f1xx.o(.constdata)
|
||||
.constdata 0x08009ed2 Section 8 system_stm32f1xx.o(.constdata)
|
||||
.conststring 0x08009edc Section 233 gui_paint.o(.conststring)
|
||||
.data 0x20000000 Section 1 epd_3in52.o(.data)
|
||||
.data 0x20000004 Section 8 font12.o(.data)
|
||||
.data 0x2000000c Section 8 font16.o(.data)
|
||||
.data 0x20000014 Section 4 system_stm32f1xx.o(.data)
|
||||
.data 0x20000018 Section 12 stm32f1xx_hal.o(.data)
|
||||
.data 0x20000024 Section 4 stdout.o(.data)
|
||||
.data 0x20000028 Section 4 mvars.o(.data)
|
||||
.data 0x2000002c Section 4 mvars.o(.data)
|
||||
.bss 0x20000030 Section 88 spi.o(.bss)
|
||||
.bss 0x20000088 Section 64 usart.o(.bss)
|
||||
.bss 0x200000c8 Section 24 gui_paint.o(.bss)
|
||||
HEAP 0x200000e0 Section 49152 startup_stm32f103xe.o(HEAP)
|
||||
STACK 0x2000c0e0 Section 4096 startup_stm32f103xe.o(STACK)
|
||||
|
||||
Global Symbols
|
||||
|
||||
Symbol Name Value Ov Type Size Object(Section)
|
||||
|
||||
BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
|
||||
__ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE
|
||||
_printf_a 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_c 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_charcount 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_d 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_e 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_f 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_flags 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_fp_dec 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_fp_hex 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_g 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_i 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_int_dec 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_l 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_lc 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_ll 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_lld 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_lli 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_llo 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_llu 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_llx 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_longlong_dec 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_longlong_hex 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_longlong_oct 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_ls 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_mbtowc 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_n 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_o 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_p 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_percent 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_pre_padding 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_return_value 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_s 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_sizespec 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_str 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_truncate_signed 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_truncate_unsigned 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_u 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_wc 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_wctomb 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_widthprec 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
_printf_x 0x00000000 Number 0 stubs.o ABSOLUTE
|
||||
__cpp_initialize__aeabi_ - Undefined Weak Reference
|
||||
__cxa_finalize - Undefined Weak Reference
|
||||
__decompress - Undefined Weak Reference
|
||||
_clock_init - Undefined Weak Reference
|
||||
_microlib_exit - Undefined Weak Reference
|
||||
__Vectors_Size 0x00000130 Number 0 startup_stm32f103xe.o ABSOLUTE
|
||||
__Vectors 0x08000000 Data 4 startup_stm32f103xe.o(RESET)
|
||||
__Vectors_End 0x08000130 Data 0 startup_stm32f103xe.o(RESET)
|
||||
__main 0x08000131 Thumb Code 0 entry.o(.ARM.Collect$$$$00000000)
|
||||
_main_stk 0x08000131 Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001)
|
||||
_main_scatterload 0x08000135 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004)
|
||||
__main_after_scatterload 0x08000139 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004)
|
||||
_main_clock 0x08000139 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008)
|
||||
_main_cpp_init 0x08000139 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A)
|
||||
_main_init 0x08000139 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B)
|
||||
__rt_final_cpp 0x08000141 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000D)
|
||||
__rt_final_exit 0x08000141 Thumb Code 0 entry11a.o(.ARM.Collect$$$$0000000F)
|
||||
Reset_Handler 0x08000145 Thumb Code 8 startup_stm32f103xe.o(.text)
|
||||
ADC1_2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
ADC3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
CAN1_RX1_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
CAN1_SCE_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel1_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel4_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel5_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel6_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA1_Channel7_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA2_Channel1_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA2_Channel2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA2_Channel3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
DMA2_Channel4_5_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI0_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI15_10_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI1_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI4_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
EXTI9_5_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
FLASH_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
FSMC_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
I2C1_ER_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
I2C1_EV_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
I2C2_ER_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
I2C2_EV_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
PVD_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
RCC_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
RTC_Alarm_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
RTC_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
SDIO_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
SPI1_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
SPI2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
SPI3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TAMPER_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM1_BRK_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM1_CC_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM1_TRG_COM_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM1_UP_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM4_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM5_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM6_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM7_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM8_BRK_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM8_CC_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM8_TRG_COM_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
TIM8_UP_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
UART4_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
UART5_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
USART1_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
USART2_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
USART3_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
USBWakeUp_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
USB_HP_CAN1_TX_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
USB_LP_CAN1_RX0_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
WWDG_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text)
|
||||
Error_Handler 0x08000169 Thumb Code 8 main.o(.text)
|
||||
SystemClock_Config 0x08000171 Thumb Code 88 main.o(.text)
|
||||
main 0x080001c9 Thumb Code 36 main.o(.text)
|
||||
MX_GPIO_Init 0x08000201 Thumb Code 86 gpio.o(.text)
|
||||
MX_SPI1_Init 0x08000261 Thumb Code 62 spi.o(.text)
|
||||
HAL_SPI_MspInit 0x0800029f Thumb Code 80 spi.o(.text)
|
||||
HAL_SPI_MspDeInit 0x080002ef Thumb Code 28 spi.o(.text)
|
||||
MX_USART1_UART_Init 0x0800031d Thumb Code 48 usart.o(.text)
|
||||
HAL_UART_MspInit 0x0800034d Thumb Code 100 usart.o(.text)
|
||||
HAL_UART_MspDeInit 0x080003b1 Thumb Code 30 usart.o(.text)
|
||||
fputc 0x080003cf Thumb Code 20 usart.o(.text)
|
||||
NMI_Handler 0x080003f5 Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
HardFault_Handler 0x080003f7 Thumb Code 8 stm32f1xx_it.o(.text)
|
||||
MemManage_Handler 0x080003ff Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
BusFault_Handler 0x08000401 Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
UsageFault_Handler 0x08000403 Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
SVC_Handler 0x08000405 Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
DebugMon_Handler 0x08000407 Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
PendSV_Handler 0x08000409 Thumb Code 2 stm32f1xx_it.o(.text)
|
||||
SysTick_Handler 0x0800040b Thumb Code 4 stm32f1xx_it.o(.text)
|
||||
HAL_MspInit 0x08000425 Thumb Code 52 stm32f1xx_hal_msp.o(.text)
|
||||
EPD_test 0x08000461 Thumb Code 514 epd_3in52_test.o(.text)
|
||||
EPD_3IN52_Reset 0x08000795 Thumb Code 56 epd_3in52.o(.text)
|
||||
EPD_3IN52_SendCommand 0x080007cd Thumb Code 46 epd_3in52.o(.text)
|
||||
EPD_3IN52_SendData 0x080007fb Thumb Code 46 epd_3in52.o(.text)
|
||||
EPD_3IN52_ReadBusy 0x08000829 Thumb Code 38 epd_3in52.o(.text)
|
||||
EPD_3IN52_lut 0x0800084f Thumb Code 132 epd_3in52.o(.text)
|
||||
EPD_3IN52_refresh 0x080008d3 Thumb Code 28 epd_3in52.o(.text)
|
||||
EPD_3IN52_lut_GC 0x080008ef Thumb Code 196 epd_3in52.o(.text)
|
||||
EPD_3IN52_lut_DU 0x080009b3 Thumb Code 196 epd_3in52.o(.text)
|
||||
EPD_3IN52_Init 0x08000a77 Thumb Code 176 epd_3in52.o(.text)
|
||||
EPD_3IN52_display 0x08000b27 Thumb Code 34 epd_3in52.o(.text)
|
||||
EPD_3IN52_display_NUM 0x08000b49 Thumb Code 226 epd_3in52.o(.text)
|
||||
EPD_3IN52_Clear 0x08000c2b Thumb Code 38 epd_3in52.o(.text)
|
||||
EPD_3IN52_sleep 0x08000c51 Thumb Code 16 epd_3in52.o(.text)
|
||||
DEV_SPI_WriteByte 0x08000c61 Thumb Code 18 dev_config.o(.text)
|
||||
DEV_Module_Init 0x08000c73 Thumb Code 38 dev_config.o(.text)
|
||||
DEV_Module_Exit 0x08000c99 Thumb Code 38 dev_config.o(.text)
|
||||
Paint_NewImage 0x08000cc9 Thumb Code 56 gui_paint.o(.text)
|
||||
Paint_SelectImage 0x08000d01 Thumb Code 6 gui_paint.o(.text)
|
||||
Paint_SetRotate 0x08000d07 Thumb Code 44 gui_paint.o(.text)
|
||||
Paint_SetScale 0x08000d33 Thumb Code 80 gui_paint.o(.text)
|
||||
Paint_SetMirroring 0x08000d83 Thumb Code 62 gui_paint.o(.text)
|
||||
Paint_SetPixel 0x08000dc1 Thumb Code 238 gui_paint.o(.text)
|
||||
Paint_Clear 0x08000eaf Thumb Code 156 gui_paint.o(.text)
|
||||
Paint_ClearWindows 0x08000f4b Thumb Code 52 gui_paint.o(.text)
|
||||
Paint_DrawPoint 0x08000f7f Thumb Code 180 gui_paint.o(.text)
|
||||
Paint_DrawLine 0x08001033 Thumb Code 662 gui_paint.o(.text)
|
||||
Paint_DrawRectangle 0x080012c9 Thumb Code 170 gui_paint.o(.text)
|
||||
Paint_DrawCircle 0x08001373 Thumb Code 528 gui_paint.o(.text)
|
||||
Paint_DrawChar 0x08001583 Thumb Code 172 gui_paint.o(.text)
|
||||
Paint_DrawString_EN 0x0800162f Thumb Code 116 gui_paint.o(.text)
|
||||
Paint_DrawString_CN 0x080016a3 Thumb Code 518 gui_paint.o(.text)
|
||||
Paint_DrawNum 0x080018a9 Thumb Code 140 gui_paint.o(.text)
|
||||
Paint_DrawTime 0x08001935 Thumb Code 282 gui_paint.o(.text)
|
||||
Paint_DrawBitMap 0x08001a4f Thumb Code 46 gui_paint.o(.text)
|
||||
Paint_DrawBitMap_Paste 0x08001a7d Thumb Code 110 gui_paint.o(.text)
|
||||
Paint_DrawBitMap_Block 0x08001aeb Thumb Code 54 gui_paint.o(.text)
|
||||
SystemInit 0x08001b75 Thumb Code 60 system_stm32f1xx.o(.text)
|
||||
SystemCoreClockUpdate 0x08001bb1 Thumb Code 108 system_stm32f1xx.o(.text)
|
||||
HAL_SPI_Init 0x08001c3b Thumb Code 180 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_DeInit 0x08001cf1 Thumb Code 48 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Transmit 0x08001e17 Thumb Code 412 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TransmitReceive 0x08002023 Thumb Code 510 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Receive 0x08002221 Thumb Code 366 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TxCpltCallback 0x0800238f Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_ErrorCallback 0x08002391 Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Transmit_IT 0x08002451 Thumb Code 162 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_RxCpltCallback 0x080024f3 Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TxRxCpltCallback 0x0800257d Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TransmitReceive_IT 0x080026d5 Thumb Code 188 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Receive_IT 0x08002791 Thumb Code 176 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TxHalfCpltCallback 0x080028c9 Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Transmit_DMA 0x080028d5 Thumb Code 208 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_RxHalfCpltCallback 0x08002a13 Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TxRxHalfCpltCallback 0x08002a7b Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_TransmitReceive_DMA 0x08002a87 Thumb Code 302 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Receive_DMA 0x08002bb5 Thumb Code 278 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Abort 0x08002d39 Thumb Code 290 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_AbortCpltCallback 0x08002e5b Thumb Code 2 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_Abort_IT 0x08002f31 Thumb Code 328 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_DMAPause 0x08003079 Thumb Code 38 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_DMAResume 0x0800309f Thumb Code 38 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_DMAStop 0x080030c5 Thumb Code 68 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_IRQHandler 0x08003119 Thumb Code 250 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_GetState 0x08003213 Thumb Code 6 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_SPI_GetError 0x08003219 Thumb Code 4 stm32f1xx_hal_spi.o(.text)
|
||||
HAL_InitTick 0x08003223 Thumb Code 58 stm32f1xx_hal.o(.text)
|
||||
HAL_Init 0x0800325d Thumb Code 32 stm32f1xx_hal.o(.text)
|
||||
HAL_MspDeInit 0x0800327d Thumb Code 2 stm32f1xx_hal.o(.text)
|
||||
HAL_DeInit 0x0800327f Thumb Code 26 stm32f1xx_hal.o(.text)
|
||||
HAL_IncTick 0x08003299 Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_GetTick 0x080032a5 Thumb Code 6 stm32f1xx_hal.o(.text)
|
||||
HAL_GetTickPrio 0x080032ab Thumb Code 6 stm32f1xx_hal.o(.text)
|
||||
HAL_SetTickFreq 0x080032b1 Thumb Code 30 stm32f1xx_hal.o(.text)
|
||||
HAL_GetTickFreq 0x080032cf Thumb Code 6 stm32f1xx_hal.o(.text)
|
||||
HAL_Delay 0x080032d5 Thumb Code 34 stm32f1xx_hal.o(.text)
|
||||
HAL_SuspendTick 0x080032f7 Thumb Code 14 stm32f1xx_hal.o(.text)
|
||||
HAL_ResumeTick 0x08003305 Thumb Code 14 stm32f1xx_hal.o(.text)
|
||||
HAL_GetHalVersion 0x08003313 Thumb Code 4 stm32f1xx_hal.o(.text)
|
||||
HAL_GetREVID 0x08003317 Thumb Code 8 stm32f1xx_hal.o(.text)
|
||||
HAL_GetDEVID 0x0800331f Thumb Code 10 stm32f1xx_hal.o(.text)
|
||||
HAL_GetUIDw0 0x08003329 Thumb Code 6 stm32f1xx_hal.o(.text)
|
||||
HAL_GetUIDw1 0x0800332f Thumb Code 6 stm32f1xx_hal.o(.text)
|
||||
HAL_GetUIDw2 0x08003335 Thumb Code 6 stm32f1xx_hal.o(.text)
|
||||
HAL_DBGMCU_EnableDBGSleepMode 0x0800333b Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_DBGMCU_DisableDBGSleepMode 0x08003347 Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_DBGMCU_EnableDBGStopMode 0x08003353 Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_DBGMCU_DisableDBGStopMode 0x0800335f Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_DBGMCU_EnableDBGStandbyMode 0x0800336b Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_DBGMCU_DisableDBGStandbyMode 0x08003377 Thumb Code 12 stm32f1xx_hal.o(.text)
|
||||
HAL_RCC_DeInit 0x080033a9 Thumb Code 250 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_OscConfig 0x080034c3 Thumb Code 1080 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_GetSysClockFreq 0x080038fb Thumb Code 88 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_ClockConfig 0x08003953 Thumb Code 364 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_MCOConfig 0x08003abf Thumb Code 64 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_EnableCSS 0x08003aff Thumb Code 8 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_DisableCSS 0x08003b07 Thumb Code 8 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_GetHCLKFreq 0x08003b0f Thumb Code 6 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_GetPCLK1Freq 0x08003b15 Thumb Code 22 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_GetPCLK2Freq 0x08003b2b Thumb Code 22 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_GetOscConfig 0x08003b41 Thumb Code 168 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_GetClockConfig 0x08003be9 Thumb Code 52 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_CSSCallback 0x08003c1d Thumb Code 2 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_RCC_NMI_IRQHandler 0x08003c1f Thumb Code 22 stm32f1xx_hal_rcc.o(.text)
|
||||
HAL_GPIO_Init 0x08003c71 Thumb Code 524 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_DeInit 0x08003e7d Thumb Code 320 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_ReadPin 0x08003fbd Thumb Code 14 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_WritePin 0x08003fcb Thumb Code 14 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_TogglePin 0x08003fd9 Thumb Code 16 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_LockPin 0x08003fe9 Thumb Code 42 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_EXTI_Callback 0x08004013 Thumb Code 2 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_GPIO_EXTI_IRQHandler 0x08004015 Thumb Code 18 stm32f1xx_hal_gpio.o(.text)
|
||||
HAL_DMA_Init 0x08004045 Thumb Code 144 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_DeInit 0x080040d5 Thumb Code 126 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_Start 0x0800418b Thumb Code 88 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_Start_IT 0x080041e3 Thumb Code 124 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_Abort 0x0800425f Thumb Code 72 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_Abort_IT 0x080042a7 Thumb Code 318 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_PollForTransfer 0x080043e5 Thumb Code 1316 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_IRQHandler 0x08004909 Thumb Code 672 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_RegisterCallback 0x08004ba9 Thumb Code 80 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_UnRegisterCallback 0x08004bf9 Thumb Code 86 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_GetState 0x08004c4f Thumb Code 6 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_DMA_GetError 0x08004c55 Thumb Code 4 stm32f1xx_hal_dma.o(.text)
|
||||
HAL_NVIC_SetPriorityGrouping 0x08004c8d Thumb Code 30 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_SetPriority 0x08004cab Thumb Code 98 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_EnableIRQ 0x08004d0d Thumb Code 28 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_DisableIRQ 0x08004d29 Thumb Code 36 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_SystemReset 0x08004d4d Thumb Code 26 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_SYSTICK_Config 0x08004d67 Thumb Code 36 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_GetPriorityGrouping 0x08004d8b Thumb Code 10 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_GetPriority 0x08004d95 Thumb Code 94 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_SetPendingIRQ 0x08004df3 Thumb Code 28 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_GetPendingIRQ 0x08004e0f Thumb Code 42 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_ClearPendingIRQ 0x08004e39 Thumb Code 28 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_NVIC_GetActive 0x08004e55 Thumb Code 42 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_SYSTICK_CLKSourceConfig 0x08004e7f Thumb Code 28 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_SYSTICK_Callback 0x08004e9b Thumb Code 2 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_SYSTICK_IRQHandler 0x08004e9d Thumb Code 8 stm32f1xx_hal_cortex.o(.text)
|
||||
HAL_UART_Init 0x08004f75 Thumb Code 100 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_HalfDuplex_Init 0x08004fd9 Thumb Code 110 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_LIN_Init 0x08005047 Thumb Code 130 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_MultiProcessor_Init 0x080050c9 Thumb Code 146 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_DeInit 0x0800515d Thumb Code 52 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Transmit 0x08005209 Thumb Code 202 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Receive 0x080052d3 Thumb Code 212 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Transmit_IT 0x080053a7 Thumb Code 66 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Receive_IT 0x080053e9 Thumb Code 86 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_ErrorCallback 0x0800543f Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_TxHalfCpltCallback 0x080054b9 Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_TxCpltCallback 0x080054c5 Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Transmit_DMA 0x080054f7 Thumb Code 138 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_RxHalfCpltCallback 0x08005581 Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_RxCpltCallback 0x0800558d Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Receive_DMA 0x080055cd Thumb Code 150 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_DMAPause 0x08005663 Thumb Code 102 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_DMAResume 0x080056c9 Thumb Code 98 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_DMAStop 0x0800572b Thumb Code 88 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Abort 0x08005783 Thumb Code 148 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortTransmit 0x08005817 Thumb Code 80 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortReceive 0x08005867 Thumb Code 90 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortCpltCallback 0x080058c1 Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_Abort_IT 0x08005931 Thumb Code 178 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortTransmitCpltCallback 0x080059e3 Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortTransmit_IT 0x080059f9 Thumb Code 94 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortReceiveCpltCallback 0x08005a57 Thumb Code 2 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_AbortReceive_IT 0x08005a6d Thumb Code 104 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_IRQHandler 0x08005bef Thumb Code 312 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_LIN_SendBreak 0x08005d27 Thumb Code 70 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_MultiProcessor_EnterMuteMode 0x08005d6d Thumb Code 50 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_MultiProcessor_ExitMuteMode 0x08005d9f Thumb Code 50 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_HalfDuplex_EnableTransmitter 0x08005dd1 Thumb Code 54 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_HalfDuplex_EnableReceiver 0x08005e07 Thumb Code 54 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_GetState 0x08005e3d Thumb Code 12 stm32f1xx_hal_uart.o(.text)
|
||||
HAL_UART_GetError 0x08005e49 Thumb Code 4 stm32f1xx_hal_uart.o(.text)
|
||||
__aeabi_memset 0x08005e4d Thumb Code 14 memseta.o(.text)
|
||||
__aeabi_memset4 0x08005e4d Thumb Code 0 memseta.o(.text)
|
||||
__aeabi_memset8 0x08005e4d Thumb Code 0 memseta.o(.text)
|
||||
__aeabi_memclr 0x08005e5b Thumb Code 4 memseta.o(.text)
|
||||
__aeabi_memclr4 0x08005e5b Thumb Code 0 memseta.o(.text)
|
||||
__aeabi_memclr8 0x08005e5b Thumb Code 0 memseta.o(.text)
|
||||
_memset$wrapper 0x08005e5f Thumb Code 18 memseta.o(.text)
|
||||
__aeabi_uidiv 0x08005e71 Thumb Code 0 uidiv.o(.text)
|
||||
__aeabi_uidivmod 0x08005e71 Thumb Code 44 uidiv.o(.text)
|
||||
__scatterload 0x08005e9d Thumb Code 28 init.o(.text)
|
||||
__scatterload_rt2 0x08005e9d Thumb Code 0 init.o(.text)
|
||||
__0printf$3 0x08005ec1 Thumb Code 22 printf3.o(i.__0printf$3)
|
||||
__1printf$3 0x08005ec1 Thumb Code 0 printf3.o(i.__0printf$3)
|
||||
__2printf 0x08005ec1 Thumb Code 0 printf3.o(i.__0printf$3)
|
||||
__scatterload_copy 0x08005ee1 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x08005eef Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x08005ef1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
free 0x080060b9 Thumb Code 76 malloc.o(i.free)
|
||||
malloc 0x08006109 Thumb Code 92 malloc.o(i.malloc)
|
||||
gImage_3in52 0x08006174 Data 10800 imagedata.o(.constdata)
|
||||
Font12_Table 0x08008e6e Data 1140 font12.o(.constdata)
|
||||
Font16_Table 0x080092e2 Data 3040 font16.o(.constdata)
|
||||
AHBPrescTable 0x08009ec2 Data 16 system_stm32f1xx.o(.constdata)
|
||||
APBPrescTable 0x08009ed2 Data 8 system_stm32f1xx.o(.constdata)
|
||||
Region$$Table$$Base 0x08009fc8 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08009fe8 Number 0 anon$$obj.o(Region$$Table)
|
||||
EPD_3IN52_Flag 0x20000000 Data 1 epd_3in52.o(.data)
|
||||
Font12 0x20000004 Data 8 font12.o(.data)
|
||||
Font16 0x2000000c Data 8 font16.o(.data)
|
||||
SystemCoreClock 0x20000014 Data 4 system_stm32f1xx.o(.data)
|
||||
uwTickFreq 0x20000018 Data 1 stm32f1xx_hal.o(.data)
|
||||
uwTickPrio 0x2000001c Data 4 stm32f1xx_hal.o(.data)
|
||||
uwTick 0x20000020 Data 4 stm32f1xx_hal.o(.data)
|
||||
__stdout 0x20000024 Data 4 stdout.o(.data)
|
||||
__microlib_freelist 0x20000028 Data 4 mvars.o(.data)
|
||||
__microlib_freelist_initialised 0x2000002c Data 4 mvars.o(.data)
|
||||
hspi1 0x20000030 Data 88 spi.o(.bss)
|
||||
huart1 0x20000088 Data 64 usart.o(.bss)
|
||||
Paint 0x200000c8 Data 24 gui_paint.o(.bss)
|
||||
__heap_base 0x200000e0 Data 0 startup_stm32f103xe.o(HEAP)
|
||||
__heap_limit 0x2000c0e0 Data 0 startup_stm32f103xe.o(HEAP)
|
||||
__initial_sp 0x2000d0e0 Data 0 startup_stm32f103xe.o(STACK)
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
Memory Map of the image
|
||||
|
||||
Image Entry point : 0x08000131
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000a018, Max: 0x00080000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00009fe8, Max: 0x00080000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x08000000 0x08000000 0x00000130 Data RO 3 RESET startup_stm32f103xe.o
|
||||
0x08000130 0x08000130 0x00000000 Code RO 970 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x08000130 0x08000130 0x00000004 Code RO 1266 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
||||
0x08000134 0x08000134 0x00000004 Code RO 1269 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x08000138 0x08000138 0x00000000 Code RO 1271 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x08000138 0x08000138 0x00000000 Code RO 1273 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x08000138 0x08000138 0x00000008 Code RO 1274 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x08000140 0x08000140 0x00000000 Code RO 1276 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
|
||||
0x08000140 0x08000140 0x00000000 Code RO 1278 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x08000140 0x08000140 0x00000004 Code RO 1267 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
||||
0x08000144 0x08000144 0x00000024 Code RO 4 .text startup_stm32f103xe.o
|
||||
0x08000168 0x08000168 0x00000098 Code RO 13 .text main.o
|
||||
0x08000200 0x08000200 0x00000060 Code RO 162 .text gpio.o
|
||||
0x08000260 0x08000260 0x000000bc Code RO 186 .text spi.o
|
||||
0x0800031c 0x0800031c 0x000000d8 Code RO 216 .text usart.o
|
||||
0x080003f4 0x080003f4 0x00000030 Code RO 246 .text stm32f1xx_it.o
|
||||
0x08000424 0x08000424 0x0000003c Code RO 273 .text stm32f1xx_hal_msp.o
|
||||
0x08000460 0x08000460 0x00000334 Code RO 354 .text epd_3in52_test.o
|
||||
0x08000794 0x08000794 0x000004cc Code RO 385 .text epd_3in52.o
|
||||
0x08000c60 0x08000c60 0x00000068 Code RO 417 .text dev_config.o
|
||||
0x08000cc8 0x08000cc8 0x00000eac Code RO 442 .text gui_paint.o
|
||||
0x08001b74 0x08001b74 0x000000c4 Code RO 579 .text system_stm32f1xx.o
|
||||
0x08001c38 0x08001c38 0x000015e8 Code RO 635 .text stm32f1xx_hal_spi.o
|
||||
0x08003220 0x08003220 0x00000188 Code RO 659 .text stm32f1xx_hal.o
|
||||
0x080033a8 0x080033a8 0x000008c8 Code RO 689 .text stm32f1xx_hal_rcc.o
|
||||
0x08003c70 0x08003c70 0x000003d4 Code RO 737 .text stm32f1xx_hal_gpio.o
|
||||
0x08004044 0x08004044 0x00000c48 Code RO 761 .text stm32f1xx_hal_dma.o
|
||||
0x08004c8c 0x08004c8c 0x00000224 Code RO 785 .text stm32f1xx_hal_cortex.o
|
||||
0x08004eb0 0x08004eb0 0x00000f9c Code RO 949 .text stm32f1xx_hal_uart.o
|
||||
0x08005e4c 0x08005e4c 0x00000024 Code RO 975 .text mc_w.l(memseta.o)
|
||||
0x08005e70 0x08005e70 0x0000002c Code RO 1281 .text mc_w.l(uidiv.o)
|
||||
0x08005e9c 0x08005e9c 0x00000024 Code RO 1302 .text mc_w.l(init.o)
|
||||
0x08005ec0 0x08005ec0 0x00000020 Code RO 1066 i.__0printf$3 mc_w.l(printf3.o)
|
||||
0x08005ee0 0x08005ee0 0x0000000e Code RO 1312 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x08005eee 0x08005eee 0x00000002 Code RO 1313 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x08005ef0 0x08005ef0 0x0000000e Code RO 1314 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x08005efe 0x08005efe 0x00000002 PAD
|
||||
0x08005f00 0x08005f00 0x000001b8 Code RO 1073 i._printf_core mc_w.l(printf3.o)
|
||||
0x080060b8 0x080060b8 0x00000050 Code RO 1238 i.free mc_w.l(malloc.o)
|
||||
0x08006108 0x08006108 0x0000006c Code RO 1239 i.malloc mc_w.l(malloc.o)
|
||||
0x08006174 0x08006174 0x00002a30 Data RO 319 .constdata imagedata.o
|
||||
0x08008ba4 0x08008ba4 0x000002ca Data RO 386 .constdata epd_3in52.o
|
||||
0x08008e6e 0x08008e6e 0x00000474 Data RO 492 .constdata font12.o
|
||||
0x080092e2 0x080092e2 0x00000be0 Data RO 520 .constdata font16.o
|
||||
0x08009ec2 0x08009ec2 0x00000010 Data RO 580 .constdata system_stm32f1xx.o
|
||||
0x08009ed2 0x08009ed2 0x00000008 Data RO 581 .constdata system_stm32f1xx.o
|
||||
0x08009eda 0x08009eda 0x00000002 PAD
|
||||
0x08009edc 0x08009edc 0x000000e9 Data RO 444 .conststring gui_paint.o
|
||||
0x08009fc5 0x08009fc5 0x00000003 PAD
|
||||
0x08009fc8 0x08009fc8 0x00000020 Data RO 1310 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08009fe8, Size: 0x0000d0e0, Max: 0x00010000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000000 0x08009fe8 0x00000001 Data RW 387 .data epd_3in52.o
|
||||
0x20000001 0x08009fe9 0x00000003 PAD
|
||||
0x20000004 0x08009fec 0x00000008 Data RW 493 .data font12.o
|
||||
0x2000000c 0x08009ff4 0x00000008 Data RW 521 .data font16.o
|
||||
0x20000014 0x08009ffc 0x00000004 Data RW 582 .data system_stm32f1xx.o
|
||||
0x20000018 0x0800a000 0x0000000c Data RW 660 .data stm32f1xx_hal.o
|
||||
0x20000024 0x0800a00c 0x00000004 Data RW 1280 .data mc_w.l(stdout.o)
|
||||
0x20000028 0x0800a010 0x00000004 Data RW 1289 .data mc_w.l(mvars.o)
|
||||
0x2000002c 0x0800a014 0x00000004 Data RW 1290 .data mc_w.l(mvars.o)
|
||||
0x20000030 - 0x00000058 Zero RW 187 .bss spi.o
|
||||
0x20000088 - 0x00000040 Zero RW 217 .bss usart.o
|
||||
0x200000c8 - 0x00000018 Zero RW 443 .bss gui_paint.o
|
||||
0x200000e0 - 0x0000c000 Zero RW 2 HEAP startup_stm32f103xe.o
|
||||
0x2000c0e0 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
Image component sizes
|
||||
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
|
||||
|
||||
104 10 0 0 0 792 dev_config.o
|
||||
1228 76 714 1 0 4838 epd_3in52.o
|
||||
820 306 0 0 0 1259 epd_3in52_test.o
|
||||
0 0 1140 8 0 1389 font12.o
|
||||
0 0 3040 8 0 1389 font16.o
|
||||
96 10 0 0 0 827 gpio.o
|
||||
3756 662 233 0 24 14644 gui_paint.o
|
||||
0 0 10800 0 0 3193 imagedata.o
|
||||
152 20 0 0 0 462016 main.o
|
||||
188 18 0 0 88 1473 spi.o
|
||||
36 8 304 0 53248 804 startup_stm32f103xe.o
|
||||
392 38 0 12 0 7697 stm32f1xx_hal.o
|
||||
548 12 0 0 0 30706 stm32f1xx_hal_cortex.o
|
||||
3144 164 0 0 0 7133 stm32f1xx_hal_dma.o
|
||||
980 30 0 0 0 4415 stm32f1xx_hal_gpio.o
|
||||
60 8 0 0 0 854 stm32f1xx_hal_msp.o
|
||||
2248 88 0 0 0 6583 stm32f1xx_hal_rcc.o
|
||||
5608 106 0 0 0 19649 stm32f1xx_hal_spi.o
|
||||
3996 46 0 0 0 17460 stm32f1xx_hal_uart.o
|
||||
48 22 0 0 0 1258 stm32f1xx_it.o
|
||||
196 28 24 4 0 1553 system_stm32f1xx.o
|
||||
216 18 0 0 64 1777 usart.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
23816 1670 16292 36 53424 591709 Object Totals
|
||||
0 0 32 0 0 0 (incl. Generated)
|
||||
0 0 5 3 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
|
||||
|
||||
0 0 0 0 0 0 entry.o
|
||||
0 0 0 0 0 0 entry10a.o
|
||||
0 0 0 0 0 0 entry11a.o
|
||||
8 4 0 0 0 0 entry2.o
|
||||
4 0 0 0 0 0 entry5.o
|
||||
0 0 0 0 0 0 entry7b.o
|
||||
0 0 0 0 0 0 entry8b.o
|
||||
8 4 0 0 0 0 entry9a.o
|
||||
30 0 0 0 0 0 handlers.o
|
||||
36 8 0 0 0 68 init.o
|
||||
188 20 0 0 0 160 malloc.o
|
||||
36 0 0 0 0 108 memseta.o
|
||||
0 0 0 8 0 0 mvars.o
|
||||
472 14 0 0 0 184 printf3.o
|
||||
0 0 0 4 0 0 stdout.o
|
||||
44 0 0 0 0 80 uidiv.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
828 50 0 12 0 600 Library Totals
|
||||
2 0 0 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
|
||||
|
||||
826 50 0 12 0 600 mc_w.l
|
||||
|
||||
----------------------------------------------------------------------
|
||||
828 50 0 12 0 600 Library Totals
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
24644 1720 16292 48 53424 590589 Grand Totals
|
||||
24644 1720 16292 48 53424 590589 ELF Image Totals
|
||||
24644 1720 16292 48 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 40936 ( 39.98kB)
|
||||
Total RW Size (RW Data + ZI Data) 53472 ( 52.22kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 40984 ( 40.02kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
110 unused section(s) (total 80782 bytes) removed from the image.
|
||||
|
|
1465
STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst
Normal file
147
STM32/STM32-F103ZET6/User/Examples/EPD_7in3f_test.c
Normal file
|
@ -0,0 +1,147 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f_test.c
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F) Demo
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-20
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#include "EPD_Test.h"
|
||||
#include "EPD_7in3f.h"
|
||||
|
||||
int EPD_test(void)
|
||||
{
|
||||
printf("EPD_7IN3F_test Demo\r\n");
|
||||
if(DEV_Module_Init()!=0){
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("e-Paper Init and Clear...\r\n");
|
||||
EPD_7IN3F_Init();
|
||||
|
||||
EPD_7IN3F_Clear(EPD_7IN3F_WHITE); // WHITE
|
||||
DEV_Delay_ms(1000);
|
||||
|
||||
//Create a new image cache
|
||||
UBYTE *BlackImage;
|
||||
UDOUBLE Imagesize = ((EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1)) * EPD_7IN3F_HEIGHT;
|
||||
if((BlackImage = (UBYTE *)malloc(Imagesize/4)) == NULL) {
|
||||
printf("Failed to apply for black memory...\r\n");
|
||||
return -1;
|
||||
}
|
||||
printf("Paint_NewImage\r\n");
|
||||
Paint_NewImage(BlackImage, EPD_7IN3F_WIDTH/2, EPD_7IN3F_HEIGHT/2, 0, EPD_7IN3F_WHITE);
|
||||
Paint_SetScale(7);
|
||||
|
||||
#if 1
|
||||
EPD_7IN3F_Display(gImage_7in3f);
|
||||
DEV_Delay_ms(5000);
|
||||
#endif
|
||||
|
||||
#if 1 // Drawing on the image
|
||||
// 1.Select Image
|
||||
printf("SelectImage:BlackImage\r\n");
|
||||
Paint_SelectImage(BlackImage);
|
||||
Paint_Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
// 2.Drawing on the image
|
||||
printf("Drawing:BlackImage\r\n");
|
||||
Paint_DrawPoint(10, 80, EPD_7IN3F_RED, DOT_PIXEL_1X1, DOT_STYLE_DFT);
|
||||
Paint_DrawPoint(10, 90, EPD_7IN3F_BLUE, DOT_PIXEL_2X2, DOT_STYLE_DFT);
|
||||
Paint_DrawPoint(10, 100, EPD_7IN3F_GREEN, DOT_PIXEL_3X3, DOT_STYLE_DFT);
|
||||
Paint_DrawLine(20, 70, 70, 120, EPD_7IN3F_ORANGE, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
|
||||
Paint_DrawLine(70, 70, 20, 120, EPD_7IN3F_ORANGE, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
|
||||
Paint_DrawRectangle(20, 70, 70, 120, EPD_7IN3F_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
|
||||
Paint_DrawRectangle(80, 70, 130, 120, EPD_7IN3F_BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
Paint_DrawCircle(45, 95, 20, EPD_7IN3F_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
|
||||
Paint_DrawCircle(105, 95, 20, EPD_7IN3F_WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
Paint_DrawLine(85, 95, 125, 95, EPD_7IN3F_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
|
||||
Paint_DrawLine(105, 75, 105, 115, EPD_7IN3F_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
|
||||
Paint_DrawString_CN(10, 160, "ÄãºÃAbc", &Font12CN, EPD_7IN3F_BLACK, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_CN(10, 180, "΢ѩµç×Ó", &Font24CN, EPD_7IN3F_WHITE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawNum(10, 33, 123456789, &Font12, EPD_7IN3F_BLACK, EPD_7IN3F_WHITE);
|
||||
Paint_DrawNum(10, 50, 987654321, &Font16, EPD_7IN3F_WHITE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(300, 0, "Waveshare", &Font16, EPD_7IN3F_BLACK, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(300, 20, "Waveshare", &Font16, EPD_7IN3F_GREEN, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(300, 40, "Waveshare", &Font16, EPD_7IN3F_BLUE, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(300, 60, "Waveshare", &Font16, EPD_7IN3F_RED, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(300, 80, "Waveshare", &Font16, EPD_7IN3F_YELLOW, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(300, 100, "Waveshare", &Font16, EPD_7IN3F_ORANGE, EPD_7IN3F_WHITE);
|
||||
Paint_DrawString_EN(160, 0, "hello world", &Font12, EPD_7IN3F_WHITE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(160, 30, "hello world", &Font12, EPD_7IN3F_GREEN, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(160, 60, "hello world", &Font12, EPD_7IN3F_BLUE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(160, 90, "hello world", &Font12, EPD_7IN3F_RED, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(160, 120, "hello world", &Font12, EPD_7IN3F_YELLOW, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(160, 150, "hello world", &Font12, EPD_7IN3F_ORANGE, EPD_7IN3F_BLACK);
|
||||
Paint_DrawString_EN(160, 180, "hello world", &Font12, EPD_7IN3F_BLACK, EPD_7IN3F_YELLOW);
|
||||
|
||||
printf("EPD_Display\r\n");
|
||||
EPD_7IN3F_DisplayPart(BlackImage, 200, 120, 400, 240);
|
||||
DEV_Delay_ms(3000);
|
||||
#endif
|
||||
|
||||
#if 1 // Drawing on the image
|
||||
//1.Select Image
|
||||
printf("SelectImage:BlackImage\r\n");
|
||||
Paint_SelectImage(BlackImage);
|
||||
Paint_Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
int hNumber, hWidth, vNumber, vWidth;
|
||||
hNumber = 10;
|
||||
hWidth = EPD_7IN3F_HEIGHT/2/hNumber; // 480/2/10=24
|
||||
vNumber = 20;
|
||||
vWidth = EPD_7IN3F_WIDTH/2/vNumber; // 800/2/20=20
|
||||
|
||||
// 2.Drawing on the image
|
||||
printf("Drawing:BlackImage\r\n");
|
||||
for(int i=0; i<hNumber; i++) { // horizontal
|
||||
Paint_DrawRectangle(1, 1+i*hWidth, EPD_7IN3F_WIDTH/2, hWidth*(1+i), EPD_7IN3F_BLACK + (i % 2), DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
}
|
||||
for(int i=0; i<vNumber; i++) { // vertical
|
||||
if(i%2) {
|
||||
Paint_DrawRectangle(1+i*vWidth, 1, vWidth*(i+1), EPD_7IN3F_HEIGHT/2, EPD_7IN3F_GREEN + (i%5), DOT_PIXEL_1X1, DRAW_FILL_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
printf("EPD_Display\r\n");
|
||||
EPD_7IN3F_DisplayPart(BlackImage, 200, 120, 400, 240);
|
||||
DEV_Delay_ms(3000);
|
||||
#endif
|
||||
|
||||
printf("Clear...\r\n");
|
||||
EPD_7IN3F_Clear(EPD_7IN3F_WHITE);
|
||||
|
||||
printf("Goto Sleep...\r\n");
|
||||
EPD_7IN3F_Sleep();
|
||||
free(BlackImage);
|
||||
BlackImage = NULL;
|
||||
DEV_Delay_ms(2000); // important, at least 2s
|
||||
// close 5V
|
||||
printf("close 5V, Module enters 0 power consumption ...\r\n");
|
||||
DEV_Module_Exit();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -41,6 +41,7 @@ extern const unsigned char gImage_1in64g[];
|
|||
extern const unsigned char gImage_2in36g[];
|
||||
extern const unsigned char gImage_3in0g[];
|
||||
extern const unsigned char gImage_4in37g[];
|
||||
extern const unsigned char gImage_7in3f[];
|
||||
extern const unsigned char gImage_7in3g[];
|
||||
/* --------------------------------------- */
|
||||
|
||||
|
|
300
STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3f.c
Normal file
|
@ -0,0 +1,300 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f.c
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F) Driver
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-20
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#include "EPD_7in3f.h"
|
||||
#include "Debug.h"
|
||||
|
||||
/******************************************************************************
|
||||
function : Software reset
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_Reset(void)
|
||||
{
|
||||
DEV_Digital_Write(EPD_RST_PIN, 1);
|
||||
DEV_Delay_ms(20);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 0);
|
||||
DEV_Delay_ms(2);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 1);
|
||||
DEV_Delay_ms(20);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : send command
|
||||
parameter:
|
||||
Reg : Command register
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_SendCommand(UBYTE Reg)
|
||||
{
|
||||
DEV_Digital_Write(EPD_DC_PIN, 0);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_SPI_WriteByte(Reg);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : send data
|
||||
parameter:
|
||||
Data : Write data
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_SendData(UBYTE Data)
|
||||
{
|
||||
DEV_Digital_Write(EPD_DC_PIN, 1);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_SPI_WriteByte(Data);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Wait until the busy_pin goes LOW
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_ReadBusyH(void)
|
||||
{
|
||||
Debug("e-Paper busy H\r\n");
|
||||
while(!DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: busy, HIGH: idle
|
||||
DEV_Delay_ms(1);
|
||||
}
|
||||
Debug("e-Paper busy H release\r\n");
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Turn On Display
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
static void EPD_7IN3F_TurnOnDisplay(void)
|
||||
{
|
||||
EPD_7IN3F_SendCommand(0x04); // POWER_ON
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
|
||||
EPD_7IN3F_SendCommand(0x12); // DISPLAY_REFRESH
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
|
||||
EPD_7IN3F_SendCommand(0x02); // POWER_OFF
|
||||
EPD_7IN3F_SendData(0X00);
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Initialize the e-Paper register
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Init(void)
|
||||
{
|
||||
EPD_7IN3F_Reset();
|
||||
EPD_7IN3F_ReadBusyH();
|
||||
DEV_Delay_ms(30);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xAA); // CMDH
|
||||
EPD_7IN3F_SendData(0x49);
|
||||
EPD_7IN3F_SendData(0x55);
|
||||
EPD_7IN3F_SendData(0x20);
|
||||
EPD_7IN3F_SendData(0x08);
|
||||
EPD_7IN3F_SendData(0x09);
|
||||
EPD_7IN3F_SendData(0x18);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x01);
|
||||
EPD_7IN3F_SendData(0x3F);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x32);
|
||||
EPD_7IN3F_SendData(0x2A);
|
||||
EPD_7IN3F_SendData(0x0E);
|
||||
EPD_7IN3F_SendData(0x2A);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x00);
|
||||
EPD_7IN3F_SendData(0x5F);
|
||||
EPD_7IN3F_SendData(0x69);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x03);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x54);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x44);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x05);
|
||||
EPD_7IN3F_SendData(0x40);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x2C);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x06);
|
||||
EPD_7IN3F_SendData(0x6F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x16);
|
||||
EPD_7IN3F_SendData(0x25);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x08);
|
||||
EPD_7IN3F_SendData(0x6F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x1F);
|
||||
EPD_7IN3F_SendData(0x22);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x13); // IPC
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
EPD_7IN3F_SendData(0x04);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x30);
|
||||
EPD_7IN3F_SendData(0x02);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x41); // TSE
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x50);
|
||||
EPD_7IN3F_SendData(0x3F);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x60);
|
||||
EPD_7IN3F_SendData(0x02);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x61);
|
||||
EPD_7IN3F_SendData(0x03);
|
||||
EPD_7IN3F_SendData(0x20);
|
||||
EPD_7IN3F_SendData(0x01);
|
||||
EPD_7IN3F_SendData(0xE0);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x82);
|
||||
EPD_7IN3F_SendData(0x1E);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x84);
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0x86); // AGID
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xE3);
|
||||
EPD_7IN3F_SendData(0x2F);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xE0); // CCSET
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
|
||||
EPD_7IN3F_SendCommand(0xE6); // TSSET
|
||||
EPD_7IN3F_SendData(0x00);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Clear screen
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Clear(UBYTE color)
|
||||
{
|
||||
UWORD Width, Height;
|
||||
Width = (EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1);
|
||||
Height = EPD_7IN3F_HEIGHT;
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for (UWORD j = 0; j < Height; j++) {
|
||||
for (UWORD i = 0; i < Width; i++) {
|
||||
EPD_7IN3F_SendData((color<<4)|color);
|
||||
}
|
||||
}
|
||||
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : show 7 kind of color block
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Show7Block(void)
|
||||
{
|
||||
unsigned long i, j, k;
|
||||
unsigned char const Color_seven[8] =
|
||||
{EPD_7IN3F_BLACK, EPD_7IN3F_BLUE, EPD_7IN3F_GREEN, EPD_7IN3F_ORANGE,
|
||||
EPD_7IN3F_RED, EPD_7IN3F_YELLOW, EPD_7IN3F_WHITE, EPD_7IN3F_WHITE};
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for(i=0; i<240; i++) {
|
||||
for(k = 0 ; k < 4; k ++) {
|
||||
for(j = 0 ; j < 100; j ++) {
|
||||
EPD_7IN3F_SendData((Color_seven[k]<<4) |Color_seven[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i=0; i<240; i++) {
|
||||
for(k = 4 ; k < 8; k ++) {
|
||||
for(j = 0 ; j < 100; j ++) {
|
||||
EPD_7IN3F_SendData((Color_seven[k]<<4) |Color_seven[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Sends the image buffer in RAM to e-Paper and displays
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Display(const UBYTE *Image)
|
||||
{
|
||||
UWORD Width, Height;
|
||||
Width = (EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1);
|
||||
Height = EPD_7IN3F_HEIGHT;
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for (UWORD j = 0; j < Height; j++) {
|
||||
for (UWORD i = 0; i < Width; i++) {
|
||||
EPD_7IN3F_SendData(Image[i + j * Width]);
|
||||
}
|
||||
}
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
void EPD_7IN3F_DisplayPart(const UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh)
|
||||
{
|
||||
unsigned long i, j;
|
||||
UWORD Width, Height;
|
||||
Width = (EPD_7IN3F_WIDTH % 2 == 0)? (EPD_7IN3F_WIDTH / 2 ): (EPD_7IN3F_WIDTH / 2 + 1);
|
||||
Height = EPD_7IN3F_HEIGHT;
|
||||
|
||||
EPD_7IN3F_SendCommand(0x10);
|
||||
for(i=0; i<Height; i++) {
|
||||
for(j=0; j<Width; j++) {
|
||||
if(i<image_heigh+ystart && i>=ystart && j<(image_width+xstart)/2 && j>=xstart/2) {
|
||||
EPD_7IN3F_SendData(Image[(j-xstart/2) + (image_width/2*(i-ystart))]);
|
||||
}
|
||||
else {
|
||||
EPD_7IN3F_SendData(0x11);
|
||||
}
|
||||
}
|
||||
}
|
||||
EPD_7IN3F_TurnOnDisplay();
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : Enter sleep mode
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void EPD_7IN3F_Sleep(void)
|
||||
{
|
||||
EPD_7IN3F_SendCommand(0x07); // DEEP_SLEEP
|
||||
EPD_7IN3F_SendData(0XA5);
|
||||
}
|
||||
|
59
STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3f.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*****************************************************************************
|
||||
* | File : EPD_7in3f.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : 7.3inch e-Paper (F) Driver
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2022-10-20
|
||||
* | Info :
|
||||
* -----------------------------------------------------------------------------
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#ifndef __EPD_7IN3F_H_
|
||||
#define __EPD_7IN3F_H_
|
||||
|
||||
#include "DEV_Config.h"
|
||||
|
||||
// Display resolution
|
||||
#define EPD_7IN3F_WIDTH 800
|
||||
#define EPD_7IN3F_HEIGHT 480
|
||||
|
||||
/**********************************
|
||||
Color Index
|
||||
**********************************/
|
||||
#define EPD_7IN3F_BLACK 0x0 /// 000
|
||||
#define EPD_7IN3F_WHITE 0x1 /// 001
|
||||
#define EPD_7IN3F_GREEN 0x2 /// 010
|
||||
#define EPD_7IN3F_BLUE 0x3 /// 011
|
||||
#define EPD_7IN3F_RED 0x4 /// 100
|
||||
#define EPD_7IN3F_YELLOW 0x5 /// 101
|
||||
#define EPD_7IN3F_ORANGE 0x6 /// 110
|
||||
#define EPD_7IN3F_CLEAN 0x7 /// 111 unavailable Afterimage
|
||||
|
||||
void EPD_7IN3F_Init(void);
|
||||
void EPD_7IN3F_Clear(UBYTE color);
|
||||
void EPD_7IN3F_Show7Block(void);
|
||||
void EPD_7IN3F_Display(const UBYTE *Image);
|
||||
void EPD_7IN3F_DisplayPart(const UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh);
|
||||
void EPD_7IN3F_Sleep(void);
|
||||
|
||||
#endif
|
|
@ -32,4 +32,5 @@
|
|||
2022-07-22:添加新程序7.3inch e-Paper (G)例程。
|
||||
2022-07-22:添加新程序3.52inch e-Paper例程。
|
||||
2022-08-16:添加新程序4.37inch e-Paper (G)例程。
|
||||
2022-08-17:添加新程序2.36inch e-Paper (G)例程。
|
||||
2022-08-17:添加新程序2.36inch e-Paper (G)例程。
|
||||
2022-10-22:添加新程序7.3inch e-Paper (F)例程。
|
|
@ -31,4 +31,5 @@
|
|||
2022-07-22: Added new programs 7.3inch e-Paper (G) routine.
|
||||
2022-07-22: Added new programs 3.52inch e-Paper routine.
|
||||
2022-08-16: Added new programs 4.37inch e-Paper (G) routine.
|
||||
2022-08-17: Added new programs 2.36inch e-Paper (G) routine.
|
||||
2022-08-17: Added new programs 2.36inch e-Paper (G) routine.
|
||||
2022-10-22: Added new programs 7.3inch e-Paper (F) routine.
|