共3条 1/1
1
跳转至
页
A web server on the GBA? But why?!
A web server on the GBA? But why?! Because I can? :-) But that wouldn't do as justification for my final project, so it's really an investigation into the possibility of including very small web servers in every day equipment in order to monitor it. A good example would be a burglar alarm. You could easily check that it was still working and that everything was ok in your house while you were on holiday if the alarm was connected to the internet. Fair enough, but why the long name? Well, GBA Web Server wouldn't sound too professional and could lead people to questioning the validity of my project! Portable never used to be in the name, what's changed? After spending a lot of time thinking about it, I want to develop the web server for the Dreamcast as well anyway. The portable in the name simply means that the source code (other than the kernel) should recompile for other systems without needing any major changes. Basically, the word portable gives me a get out clause so that I can target the web server for any system (hey, I'd love to do an Xbox version) and still fulfill my original aim. Where will the web servers live when you complete it? This I'm not 100% sure of. It depends on where my ISP finds space for it (not that it requires much!). It'll either be in Manchester, Bradford or Harrogate. However, these details are of little interest to yourself! All you need to know is that the URL will be http://gba.fivemouse.com and http://dreamcast.fivemouse.com when the server goes live. So what will be involved in making this project a reality? Lots of things, but here's a list of the most important features (in no particular order). Expect this list to change as I add more details. Very small Multi-tasking kernel (no memory management required) Com port driver Display and input driver PPP protocol IP protocol TCP protocol Method to connect the GBA to a server Please see the project plan and the to do list for a more complete list. How will you be developing the web server? The first items that I will develop will be the protocols. Because these are platform independent, I will be able to develop them under Windows using VC++. This is because I can use the PC com port for I/O and easily debug the modules as I work on them. When I have got these working and have tested them fully, I will simply run the source files through GCC targeted at the ARM processor. As for the kernel and device drivers, hopefully, by the time I come round to developing these, KOS might have full support for IRQs on the GBA. I will then use KOS to provide a kernel and drivers. If KOS doesn't supply the required level of support by the time that I require it, I will then have to develop my own micro-kernel and drivers. (Note, even though KOS does have some TCP/IP support, I wont be using it as I aim to write my own to serve a particular need.) What will you do if you can't get the web server to work on the GBA? The other advantage of having an ambiguous project name is that it doesn't specify the target system. :-) If getting the web server on the GBA is beyond my reach, I will simply move development over to the Dreamcast. After all, it could be argued that the Dreamcast is a low memory embedded system. I aim to have a vast majority of the project written in portable C so that it can easily be moved from one platform to another. The only parts that wont be portable will be the micro-kernel and the device drivers. To save myself time, I will develop these last. So where did you get the idea for this from? I've been thinking about it for quite a while now. The first time I thought of putting a web server on a games console was over a year ago, around the time the Xbox was announced. But the original idea goes back further than that! About two years ago, I stumbled across this web site and thought to myself, what a great idea, I've love to build a tiny web server one day. Of course, a GBA web server will be quite a bit bigger, but it's still quite dinky! That all sounds really cool! Can I help? I'm afraid not. As it's my final project, I have to work on it alone. However, I do plan to release all my sources as I'm working on it so you can follow it that way if you wish. Right, now that's all cleared up, what have you got to show us? Erm, not much really. I have one last major document to put up before I start development work, and that is an explanation of how a web server works. If you want to keep up to date with my progress, read my development diary. My Documents: Acknowledgments (04-04-2002) Time Table (08-10-2001) This is just a copy of my university time table for the year. It should give you an idea of how much time I have to work on the project. Project Proposal v1 (08-10-2001) System Layout (12-10-2001) Project Planning (22-10-2001) To Do List (06-04-2002) This document should be updated quite frequently. Project Status Snapshot (06-04-2002) Project Proposal v2 (17-10-2001) Kernel API documentation (02-11-2001) mkgbafs and libgbafs (06-04-2002) Fivemouse General Public License (08-01-2002) My Code: AdiOS Release 1 (28-10-2001) AdiOS Release 2 (02-11-2001) PPP Driver (02-11-2001) GBA Text Routines (18-11-2001) GBA UART Demo (18-11-2001) Reference Documents: Using PICmicro MCUs to Connect to the Internet via PPP This is a very good document. Well worth a read for anyone thinking of doing something similar. RFC 791 (Internet Protocol) RFC 792 (Internet Control Message Protocol) RFC 793 (Transmission Control Protocol) RFC 1122 (Requirements for Internet Hosts -- Communication Layers) RFC 1661 (Point-to-Point Protocol) RFC 1071 (Computing the Internet Checksum) Other Links of Interest Computer Science Specialist Project KOS Devkit Advance If you want to be notified of major changes to the site, subscribe to the mailing list. I seem to be having problems with Hot Mail requests, so if you don't get an email to confirm your request to join, email me and I will add you manually.
共3条 1/1
1
跳转至
页
回复
有奖活动 | |
---|---|
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? |
打赏帖 | |
---|---|
如何实现基于NXPiMX.RT1021的BH1730采集被打赏50分 | |
【换取手持数字示波器】AHT10温度检测分享被打赏40分 | |
【换取手持数字示波器】ACM32F070开发板点亮LCD屏和触控按键,串口,ADC被打赏40分 | |
【换取手持数字示波器】ACM32F070LCD屏和触控按键功驱动蜂鸣器分享被打赏40分 | |
【换取手持数字示波器】国民技术PWM功能知识分享被打赏40分 | |
【换取手持数字示波器】放大器运放知识分享被打赏40分 | |
【分享评测,赢取加热台】+开关电源AC输入知识分享被打赏30分 | |
【换取手持数字示波器】N32G430点亮数码管与串口打印、ADC被打赏40分 | |
老胖子聊电路--分析一个反馈电路被打赏50分 | |
【换取手持数字示波器】+点亮WS2812RGB灯被打赏50分 |