Operating System
Dependencies: UnitTest wolfssh mDNS wolfcrypt wolfSSL
This is an embedded operating system for K64F. It includes a ssh server, a web-server and mDNS server. It has POST on boot. The main purpose of the OS is a router for the thing network.
Diff: main.cpp
- Revision:
- 2:453e73d66757
- Parent:
- 1:4059ac7ebc65
- Child:
- 3:351ee68a721d
--- a/main.cpp Thu Jun 13 13:54:10 2019 +0000 +++ b/main.cpp Thu Jun 13 14:20:16 2019 +0000 @@ -42,6 +42,22 @@ } }; +void write(unsigned int n, unsigned int addressOfX, char X){ + unsigned int address = n * SECTOR_SIZE; //Write in last sector + char *data = (char*)address; //Read + // This works in C and C++ + char b[SECTOR_SIZE]; + b[addressOfX] = X; + memcpy(b, data, SECTOR_SIZE * sizeof(char)); // int is a POD + erase_sector(address); + program_flash(address, b, SECTOR_SIZE); //an integers has four bytes each. +} + +char read(unsigned int address){ + char *data = (char*)address; //Read + return data[0]; +} + int main() { red = 1; blue = 0; @@ -105,29 +121,6 @@ desktop.AddChild(&win2); #endif - - /* - printf("\nS-ATA primary master: "); - AdvancedTechnologyAttachment ata0m(true, 0x1F0); - ata0m.Identify(); - - printf("\nS-ATA primary slave: "); - AdvancedTechnologyAttachment ata0s(false, 0x1F0); - ata0s.Identify(); - ata0s.Write28(0, (uint8_t*)"http://www.AlgorithMan.de", 25); - ata0s.Flush(); - ata0s.Read28(0, 25); - - printf("\nS-ATA secondary master: "); - AdvancedTechnologyAttachment ata1m(true, 0x170); - ata1m.Identify(); - - printf("\nS-ATA secondary slave: "); - AdvancedTechnologyAttachment ata1s(false, 0x170); - ata1s.Identify(); - // third: 0x1E8 - // fourth: 0x168 - */ EthernetInterface interface; interface.disconnect(); interface.connect(); @@ -136,13 +129,7 @@ const char *ip = interface.get_ip_address(); printf("IP address is: %s\n", ip ? ip : "No IP"); - //AddressResolutionProtocol arp(ðerframe); - - //InternetProtocolProvider ipv4(ðerframe, &arp, gip_be, subnet_be); //InternetControlMessageProtocol icmp(&ipv4); - //UserDatagramProtocolProvider udp(&ipv4); - //TransmissionControlProtocolProvider tcp(&ipv4); - //interrupts.Activate(); @@ -169,20 +156,10 @@ //icmp.RequestEchoReply(gip_be); //PrintfUDPHandler udphandler; - //UserDatagramProtocolSocket* udpsocket = udp.Connect(ip2_be, 1234); - //udp.Bind(udpsocket, &udphandler); - //udpsocket->Send((uint8_t*)"Hello UDP!", 10); //UserDatagramProtocolSocket* udpsocket = udp.Listen(1234); //udp.Bind(udpsocket, &udphandler); - - /*unsigned int addressId = 1; - unsigned int address = flash_size() - SECTOR_SIZE; //Write in last sector - erase_sector(address); - program_flash(address, (char*)&addressId, 4); //an integers has four bytes each. - - unsigned int *data = (unsigned int*)address; //Read*/ - + while (true){ //printf("\nCLIENT - Sending '%i' to server %s\r\n", screen[0], SERVER_IP); //print message to send sockUDP.sendto(SERVER_IP, PORT, screen, sizeof(screen));