修正诸多GCCArm编译警告

This commit is contained in:
大石头 2016-12-14 14:37:50 +08:00
parent 0bade9977c
commit cdf49d378f
21 changed files with 145 additions and 131 deletions

View File

@ -21,7 +21,7 @@ public:
int Count; // 剩余快闪次数
FlushPort();
~FlushPort();
virtual ~FlushPort();
void Start(int ms = 1000);
// mode 0xff 为不改变Port状态 0为Write false 1为Write true

View File

@ -41,7 +41,7 @@ Raster::~Raster()
if (--_Ras == 0)
{
delete _Cache;
//delete _Cache;
Sys.RemoveTask(_task);
}
}

View File

@ -36,6 +36,8 @@ Stream::Stream(const Buffer& bs)
CanWrite = false;
}
Stream::~Stream(){ }
void Stream::Init(void* buf, uint len)
{
assert(buf, "buf");

View File

@ -24,6 +24,7 @@ public:
// 使用字节数组初始化数据流。注意此时指针位于0而内容长度为缓冲区长度
explicit Stream(Buffer& bs);
explicit Stream(const Buffer& bs);
virtual ~Stream();
// 数据流容量
uint Capacity() const;
@ -112,7 +113,7 @@ public:
// 使用缓冲区初始化数据流,支持自动扩容
MemoryStream(void* buf, uint len);
// 销毁数据流
~MemoryStream();
virtual ~MemoryStream();
};
#endif

View File

@ -60,7 +60,7 @@ void IC74HC165MOR::Trigger()
_irqCount = 0;
return;
}
int bits = _Bs.Length() * 8; // 总位数
//int bits = _Bs.Length() * 8; // 总位数
for(int i = 0; i < _Bs.Length(); i++)
{
byte temp = 0x00;

View File

@ -532,7 +532,7 @@ uint Esp8266::OnReceive(Buffer& bs, void* param)
{
if (_Expect)
{
uint rs = ParseReply(bs.Sub(s, size));
ParseReply(bs.Sub(s, size));
#if NET_DEBUG
// 如果没有吃完,剩下部分报未识别
//if(rs < size) ParseFail("ParseReply", bs.Sub(s + rs, size - rs));

View File

@ -97,7 +97,7 @@ bool Controller::Dispatch(Stream& ms, Message* pmsg, void* param)
{
TS("Controller::DispatchMsg");
byte* buf = ms.Current();
//byte* buf = ms.Current();
auto& msg = *pmsg;
msg.State = param;

View File

@ -20,8 +20,8 @@
#define lgw 5 /* log2(w) -- wussed out */
/* Rotations */
#define ROTL(x,y) (((x)<<(y&(rc6_w-1))) | ((x)>>(rc6_w-(y&(rc6_w-1)))))
#define ROTR(x,y) (((x)>>(y&(rc6_w-1))) | ((x)<<(rc6_w-(y&(rc6_w-1)))))
#define ROTL(x,y) (((x)<<((y)&(rc6_w-1))) | ((x)>>(rc6_w-((y)&(rc6_w-1)))))
#define ROTR(x,y) (((x)>>((y)&(rc6_w-1))) | ((x)<<(rc6_w-((y)&(rc6_w-1)))))
void rc6_block_encrypt(uint *pt, uint *ct, uint* box)
{

View File

@ -811,109 +811,109 @@ static inline void __rsa_mon_pro_double(rsa_data_TypeDef *sour_x)
}
}
/*
#define RSA_TEST_MODE_CNT 32
#define RSA_TEST_MODE_DATA {\
0X67598CC9, 0XAA3FD278, 0X049B64E7, 0X6B04EAB2, 0XACA78B9C, 0XF760B29E, 0XE432C8F9, 0X0FE17786,\
0X0AD347E2, 0X3C328E63, 0X6F23CFAD, 0X48F74EB2, 0X1B17AA71, 0X0FE69715, 0XC30A8BFD, 0X88AD5DB3,\
0X7EBEF3B5, 0X9171CDE2, 0X3ECB2B2D, 0X59596D2C, 0XF0235EF4, 0X0C107B62, 0XFC15D796, 0X868903DB,\
0XC42016EA, 0X41784605, 0X949E0147, 0XB7FC8662, 0X05658A3B, 0X4F474D13, 0X281A21C3, 0X9D76CAC2}
//#define RSA_TEST_MODE_CNT 32
//#define RSA_TEST_MODE_DATA {\
//0X67598CC9, 0XAA3FD278, 0X049B64E7, 0X6B04EAB2, 0XACA78B9C, 0XF760B29E, 0XE432C8F9, 0X0FE17786,\
//0X0AD347E2, 0X3C328E63, 0X6F23CFAD, 0X48F74EB2, 0X1B17AA71, 0X0FE69715, 0XC30A8BFD, 0X88AD5DB3,\
//0X7EBEF3B5, 0X9171CDE2, 0X3ECB2B2D, 0X59596D2C, 0XF0235EF4, 0X0C107B62, 0XFC15D796, 0X868903DB,\
//0XC42016EA, 0X41784605, 0X949E0147, 0XB7FC8662, 0X05658A3B, 0X4F474D13, 0X281A21C3, 0X9D76CAC2}
//
//#define RSA_TEST_PB_KEY_CNT 1
//#define RSA_TEST_PB_KEY_DATA {0x10001}
//
//#define RSA_TEST_PR_KEY_CNT 32
//#define RSA_TEST_PR_KEY_DATA {\
//0X30409009, 0XBD6F7B7D, 0X2D0E6654, 0X1F5EEBCA, 0X03CDB701, 0X4B194C4C, 0X3B04D5BB, 0X226F467E,\
//0XBE4CF497, 0XB7969F50, 0X4AC26ED8, 0XE055F3B5, 0XC2847600, 0XD48D6B4E, 0X39E6366E, 0X09D1D6F3,\
//0XF08AEF82, 0XC20E7730, 0XDDE0C548, 0XC438886E, 0XD340F89C, 0X51676C2A, 0X86E9B6AD, 0XD025A5A8,\
//0X03D4B7EA, 0XCAD22E79, 0XFBF687E2, 0X9ACA7B8F, 0X396D1C79, 0XD8CEDDBF, 0X5C949FB4, 0X6A7DC64E}
//
//#define RSA_TEST_MES_CNT 32
//#define RSA_TEST_MES_DATA {0x12345678,0xffffffff,0xffffaa55}
//
//#pragma data_alignment = 4
//const char test_char1[33*4] = "Hello World! This is Gecko!";
//const char test_char2[33*4] = "Hello World! This is abandada!";
//const char test_char3[33*4] = "Helldsadsais is Geckdasdsado!";
//const char test_char4[33*4] = "Hello Worldsadasdsadasdascko!";
//
//uint32_t test_mod[RSA_TEST_MODE_CNT] = RSA_TEST_MODE_DATA;
//uint8_t test_mod_len = RSA_TEST_MODE_CNT;
//
//uint32_t test_pb_key[RSA_TEST_PB_KEY_CNT] = RSA_TEST_PB_KEY_DATA;
//uint8_t test_pb_key_len = RSA_TEST_PB_KEY_CNT;
//
//uint32_t test_pr_key[RSA_TEST_PR_KEY_CNT] = RSA_TEST_PR_KEY_DATA;
//uint8_t test_pr_key_len = RSA_TEST_PR_KEY_CNT;
//
//
//uint32_t test_mes[RSA_TEST_MES_CNT] = RSA_TEST_MES_DATA ;
//uint8_t test_mes_len = RSA_TEST_MES_CNT;
//
//extern volatile uint32_t rsa_test_cnt ;
//void rsa_test(void)
//{
// uint32_t *test_p;
// uint8_t i,j;
// uint32_t test_time2;
// __rsa_struc_init();
//
//
//
//
//
// rsa_encrypt_init(test_mod,test_mod_len,test_pb_key,test_pb_key_len);
// rsa_decrypt_init(test_mod,test_mod_len,test_pr_key,test_pr_key_len);
// while(1){
// for(j = 0; j < 4; j++){
//
// switch(j){
// case 0:test_p = (uint32_t *)test_char1;break;
// case 1:test_p = (uint32_t *)test_char2;break;
// case 2:test_p = (uint32_t *)test_char3;break;
// case 3 : test_p = (uint32_t *)test_char4;break;
// default:break;
#define RSA_TEST_PB_KEY_CNT 1
#define RSA_TEST_PB_KEY_DATA {0x10001}
#define RSA_TEST_PR_KEY_CNT 32
#define RSA_TEST_PR_KEY_DATA {\
0X30409009, 0XBD6F7B7D, 0X2D0E6654, 0X1F5EEBCA, 0X03CDB701, 0X4B194C4C, 0X3B04D5BB, 0X226F467E,\
0XBE4CF497, 0XB7969F50, 0X4AC26ED8, 0XE055F3B5, 0XC2847600, 0XD48D6B4E, 0X39E6366E, 0X09D1D6F3,\
0XF08AEF82, 0XC20E7730, 0XDDE0C548, 0XC438886E, 0XD340F89C, 0X51676C2A, 0X86E9B6AD, 0XD025A5A8,\
0X03D4B7EA, 0XCAD22E79, 0XFBF687E2, 0X9ACA7B8F, 0X396D1C79, 0XD8CEDDBF, 0X5C949FB4, 0X6A7DC64E}
#define RSA_TEST_MES_CNT 32
#define RSA_TEST_MES_DATA {0x12345678,0xffffffff,0xffffaa55}
#pragma data_alignment = 4
const char test_char1[33*4] = "Hello World! This is Gecko!";
const char test_char2[33*4] = "Hello World! This is abandada!";
const char test_char3[33*4] = "Helldsadsais is Geckdasdsado!";
const char test_char4[33*4] = "Hello Worldsadasdsadasdascko!";
uint32_t test_mod[RSA_TEST_MODE_CNT] = RSA_TEST_MODE_DATA;
uint8_t test_mod_len = RSA_TEST_MODE_CNT;
uint32_t test_pb_key[RSA_TEST_PB_KEY_CNT] = RSA_TEST_PB_KEY_DATA;
uint8_t test_pb_key_len = RSA_TEST_PB_KEY_CNT;
uint32_t test_pr_key[RSA_TEST_PR_KEY_CNT] = RSA_TEST_PR_KEY_DATA;
uint8_t test_pr_key_len = RSA_TEST_PR_KEY_CNT;
uint32_t test_mes[RSA_TEST_MES_CNT] = RSA_TEST_MES_DATA ;
uint8_t test_mes_len = RSA_TEST_MES_CNT;
extern volatile uint32_t rsa_test_cnt ;
void rsa_test(void)
{
uint32_t *test_p;
uint8_t i,j;
uint32_t test_time2;
__rsa_struc_init();
rsa_encrypt_init(test_mod,test_mod_len,test_pb_key,test_pb_key_len);
rsa_decrypt_init(test_mod,test_mod_len,test_pr_key,test_pr_key_len);
while(1){
for(j = 0; j < 4; j++){
switch(j){
case 0:test_p = (uint32_t *)test_char1;break;
case 1:test_p = (uint32_t *)test_char2;break;
case 2:test_p = (uint32_t *)test_char3;break;
case 3 : test_p = (uint32_t *)test_char4;break;
default:break;
}
for(i = 0; i < 32; i++)
test_mes[i] = test_p[i];
rsa_test_cnt = 0;
printf("----------------------------------------RSA_encrypt_start!!!\n\r");
printf("Encrypt Message ===> %s\n\r",(uint8_t *)test_mes);
rsa_encrypt(test_mes,test_mes_len);
// printf("Encrypt data as follow\n\r");
// printf("[%2d]=%8X ",0,test_mes[0]);
// for(i= 1; i < 32; i++){
// printf("[%2d]=%8X ",i,test_mes[i]);
// if((i+1)%4){
// }else{
// printf("\r\n");
// }
//
// for(i = 0; i < 32; i++)
// test_mes[i] = test_p[i];
//
// rsa_test_cnt = 0;
// printf("----------------------------------------RSA_encrypt_start!!!\n\r");
// printf("Encrypt Message ===> %s\n\r",(uint8_t *)test_mes);
// rsa_encrypt(test_mes,test_mes_len);
//// printf("Encrypt data as follow\n\r");
//// printf("[%2d]=%8X ",0,test_mes[0]);
//// for(i= 1; i < 32; i++){
//// printf("[%2d]=%8X ",i,test_mes[i]);
//// if((i+1)%4){
//// }else{
//// printf("\r\n");
//// }
//// }
// test_time2 = rsa_test_cnt ;
// printf("Const time =%6d Ms\n\r",test_time2/100);
// printf("----------------------------------------RSA_encrypt_end!!!\n\r");
//
// printf("******************************\n\r");
// printf("----------------------------------------RSA_decrypt_start!!!\n\r");
// rsa_test_cnt = 0;
// rsa_decrypt(test_mes,test_mes_len);
//
// test_time2 = rsa_test_cnt ;
// printf("Const time =%6d Ms\n\r",test_time2/100);
//
// printf("Dncrypt Message ===> %s\n\r",(uint8_t *)test_mes);
// printf("----------------------------------------RSA_decrypt_end!!!\n\r");
// printf("------------------------------------------------------------\n\r");
// printf("------------------------------------------------------------\n\r");
//
// }
// j = 0;
// }
//}
test_time2 = rsa_test_cnt ;
printf("Const time =%6d Ms\n\r",test_time2/100);
printf("----------------------------------------RSA_encrypt_end!!!\n\r");
printf("******************************\n\r");
printf("----------------------------------------RSA_decrypt_start!!!\n\r");
rsa_test_cnt = 0;
rsa_decrypt(test_mes,test_mes_len);
test_time2 = rsa_test_cnt ;
printf("Const time =%6d Ms\n\r",test_time2/100);
printf("Dncrypt Message ===> %s\n\r",(uint8_t *)test_mes);
printf("----------------------------------------RSA_decrypt_end!!!\n\r");
printf("------------------------------------------------------------\n\r");
printf("------------------------------------------------------------\n\r");
}
j = 0;
}
}
*/
/* des = des + sour

View File

@ -161,8 +161,8 @@ void TestEthernet()
// 如果不是为了Dhcp这里可以不用OpenInit里面会Open
if(!tip->Open()) return;
auto icmp = new IcmpSocket(tip);
//icmp->OnPing = OnPing;
//auto icmp = new IcmpSocket(tip);
//icmp->OnPing = OnPing;
auto udp = new UdpSocket(tip);
//udp->OnReceived = OnUdpReceived;

View File

@ -7,7 +7,7 @@
Pwm * IRFREQ()
{
// Pwm 引脚初始化
AlternatePort* irpin = new AlternatePort(PA8);
AlternatePort* irpin = new AlternatePort(PA8);
irpin->Set(PA8);
#if defined(STM32F0) || defined(STM32F4)
GPIO_PinAFConfig(GPIOA,GPIO_PinSource8,GPIO_AF_2);
@ -30,17 +30,18 @@ Pwm * IRFREQ()
return IRFreq;
}*/
//Íø¹ØC
//Íø¹ØC
//PB1 HIRPWM (TIME3 CH4)
Pwm* IRFREQ()
{
auto irpin = new AlternatePort(PB1);
auto IRFreq = new Pwm(Timer3);
new AlternatePort(PB1);
auto IRFreq = new Pwm(Timer3);
// 38KHz 占空比 50%
// IRFreq->SetFrequency(38000); // 严重不准确 103ve上实际输出只有25KHz
IRFreq->Prescaler = 0x06;
IRFreq->Prescaler = 0x06;
IRFreq->Period = 0x13c;
IRFreq->Pulse[3] = IRFreq->Period/2;
IRFreq->Pulse[3] = IRFreq->Period/2;
IRFreq->Enabled[3] = true;
// IRFreq->Start();
return IRFreq;
@ -50,13 +51,13 @@ void IRTest()
{
auto HIRPOWER = new OutputPort(PE11,false,true);
*HIRPOWER = false;
/*auto ir = new IR(IRFREQ(), PE10, PE15);
byte Recbuff[512];
for(int i =0;i<sizeof(Recbuff);i++)Recbuff[i]=0x00;
int length=0;
length = ir->Receive(Recbuff);
Sys.Sleep(1000);
while(true)
{

View File

@ -27,7 +27,7 @@ static void TestCtor()
String str1("456");
assert(str1 == "456", err);
assert(str1.GetBuffer() == "456", err);
assert(str1.GetBuffer() == (void*)"456", err);
err = "String(const String& str)";
String str2(str1);

View File

@ -67,10 +67,10 @@ bool TcpSocket::Process(IP_HEADER& ip, Stream& ms)
if(!tcp) return false;
Header = tcp;
uint len = ms.Remain();
//uint len = ms.Remain();
ushort port = _REV16(tcp->DestPort);
ushort remotePort = _REV16(tcp->SrcPort);
//ushort remotePort = _REV16(tcp->SrcPort);
// 仅处理本连接的IP和端口
if(port != Local.Port) return false;

View File

@ -159,7 +159,9 @@ void TinyController::ShowMessage(const TinyMessage& msg, bool send, const ITrans
blank -= 5;
}
else
{
msg_printf("::");
}
if(msg.Error)
{

View File

@ -39,6 +39,11 @@ Device::Device() :
//LastWrite = 0;
}
Device::~Device()
{
}
void Device::Write(Stream& ms) const
{
TS("Device::Write");

View File

@ -65,6 +65,7 @@ public:
//Buffer Config;
Device();
virtual ~Device();
// 序列化到消息数据流
void Write(Stream& ms) const;

View File

@ -34,7 +34,7 @@ public:
int InvokeReply;
TokenStat();
~TokenStat();
virtual ~TokenStat();
void Clear();
@ -216,7 +216,7 @@ bool TokenController::OnReceive(Message& msg)
auto& tmsg = (TokenMessage&)msg;
// 过滤重复请求。1秒内不接收重复指令
UInt64 start = Sys.Ms() - 5000;
for (int i = 0; i < ArrayLength(_RecvQueue); i++)
for (int i = 0; i < (int)ArrayLength(_RecvQueue); i++)
{
auto& qi = _RecvQueue[i];
if (qi.Code == msg.Code && qi.Seq == tmsg.Seq && qi.Time > start)
@ -225,7 +225,7 @@ bool TokenController::OnReceive(Message& msg)
return true;
}
}
for (int i = 0; i < ArrayLength(_RecvQueue); i++)
for (int i = 0; i < (int)ArrayLength(_RecvQueue); i++)
{
auto& qi = _RecvQueue[i];
if (qi.Code == 0 || qi.Time <= start)
@ -239,7 +239,7 @@ bool TokenController::OnReceive(Message& msg)
}
}
#if DEBUG
bool rs = StatReceive(msg);
StatReceive(msg);
#endif
// 加解密。握手不加密,登录响应不加密
@ -314,7 +314,7 @@ void TokenController::ShowMessage(cstring action, const Message& msg)
#if MSG_DEBUG
TS("TokenController::ShowMessage");
for (int i = 0; i < ArrayLength(NoLogCodes); i++)
for (int i = 0; i < (int)ArrayLength(NoLogCodes); i++)
{
if (msg.Code == NoLogCodes[i]) return;
if (NoLogCodes[i] == 0) break;
@ -377,7 +377,7 @@ bool TokenController::StatSend(const Message& msg)
// 超时指令也干掉
UInt64 end = Sys.Ms() - 5000;
for (int i = 0; i < ArrayLength(_StatQueue); i++)
for (int i = 0; i < (int)ArrayLength(_StatQueue); i++)
{
auto& qi = _StatQueue[i];
if (qi.Code == 0 || qi.Time <= end)
@ -408,7 +408,7 @@ bool TokenController::StatReceive(const Message& msg)
if (msg.Reply)
{
bool rs = false;
for (int i = 0; i < ArrayLength(_StatQueue); i++)
for (int i = 0; i < (int)ArrayLength(_StatQueue); i++)
{
auto& qi = _StatQueue[i];
if (qi.Code == code)

View File

@ -2,7 +2,7 @@
#include "TokenDataMessage.h"
#include "Message\BinaryPair.h"
TokenDataMessage::TokenDataMessage() :Data(0)
TokenDataMessage::TokenDataMessage() : Data(0)
{
ID = 0;
Start = 0;
@ -10,7 +10,7 @@ TokenDataMessage::TokenDataMessage() :Data(0)
HasSize = true;
}
TokenDataMessage::TokenDataMessage(const TokenDataMessage& msg)
TokenDataMessage::TokenDataMessage(const TokenDataMessage& msg) : MessageBase(msg)
{
ID = msg.ID;
Start = msg.Start;

View File

@ -8,7 +8,7 @@ TokenPingMessage::TokenPingMessage()
ServerTime = 0;
}
TokenPingMessage::TokenPingMessage(const TokenPingMessage& msg)
TokenPingMessage::TokenPingMessage(const TokenPingMessage& msg) : MessageBase(msg)
{
LocalTime = msg.LocalTime;
}

View File

@ -56,7 +56,7 @@ public:
#endif
TokenSession(TokenClient& client, TokenController& ctrl);
~TokenSession();
virtual ~TokenSession();
bool Send(TokenMessage& msg);
void OnReceive(TokenMessage& msg);

View File

@ -25,5 +25,7 @@ build.CompileAll();
build.BuildLib("..\\libSmartOS_M3.a");
build.Debug = true;
// 未使用参数和无符号整数比较太多了,过滤掉
build.ExtCompiles = "-Wno-unused-parameter -Wno-sign-compare";
build.CompileAll();
build.BuildLib("..\\libSmartOS_M3.a");