半自助旅游旅行社通过空中编程 [英] contiki over the air programming

查看:279
本文介绍了半自助旅游旅行社通过空中编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始使用通过项目天空微尘半自助旅游旅行社。我试图让在空中的编程,现在的工作权。
我一直在寻找通过实例/天壳exec和应用程序/壳/。我觉得我需要的,它通过天空壳exec和可能测试洪水或codeprop可提供的功能组合。然而,通过code读导致了我一些概念上的障碍方面有什么code需要实现什么code是为了得到一些空中编程功能已经提供了(我很新本,并没有太多的嵌入式系统暴露在所有)。我对我的问题是,在有时含糊不清道歉,这是由于我一般的混乱,真的不知道如何进行任何好转。我主要是希望得到的东西不多(例如程序)工作的权利,现在根本送code到微尘,然后在遥控使用发送code进行重新编程(如发送​​code,也许是刚刚招呼-世界)。

I'm getting started with contiki on the sky mote through a project. I'm trying to get over the air programming to work right now.
I've been looking through examples/sky-shell-exec and apps/shell/. I feel that I need some combination of the functionality that is provided through sky-shell-exec and possibly test-deluge or codeprop. However, reading through the code has lead to me some conceptual roadblocks concerning what code needs to be implemented and what code is already provided in order to get some over the air programming functionality (I'm very new to this and haven't had much embedded systems exposure at all). I apologize for my questions being at sometimes vague and unclear but this is due to my general confusion and don't really know how to proceed any better. I am mainly looking to get something small (example program) working right now that simply can send code to a mote and then that mote be reprogrammed using the sent code (e.g. sent code maybe being just hello-world).

1)如何简单地发送code的遥控空中?我觉得像测试洪水是在空中规划问题无线传输的一部分,但不完全了解它从code。

1) How do I simply send code to the mote over the air? I feel like test-deluge is the "wireless" transmission part of the over the air programming problem, but don't fully understand it from the code.

2)C $ C应该是什么$上的微尘,以获得在空中code运行?

2) What code should be running on a mote in order to receive over the air code?

3)我怎么知道这个code被存储,然后知道如何加载呢?我觉得这一步是天空壳EXEC或多或少却又不完全了解它从code。

3) How do I know where this code is stored and then know how to load it? I feel like this step is the sky-shell-exec more or less but again don't fully understand it from the code.

4)我读了很多的网络周围的事物说,空中编程是困难的,如果在code基数大,因为公羊是有限的。凡在一般我在储存我的code时,无线传输和我怎么知道/验证它的存在?此外,我怎么能简单地知道如果我将不得不因code规格的内存存储问题(最终该项目的大code基将需要发送的,而不仅仅是单一的模块)?

4) I'm reading a lot of things around the web saying that over the air programming is difficult if the code base is large since ram is limited. Where in general am I storing my code when it is wirelessly transmitted and how do I know/verify that it is there? Also, how can I simply know if I will have memory storage problems due to code size (eventually for the project a large code base will need to be transmitted and not just single modules)?

我再次道歉,任何无端的无知,我意识到有一个与此相似的另一个线程,但我发现,我需要提到有每个组件的更详细的解释(线程是:的在空中编程半自助旅游旅行社)。

I apologize again for any unwarranted ignorance and I realize there is another thread similar to this one but I've found that I need a more detailed explanation of each component that is mentioned there (thread is: On the Air programming for Contiki).

感谢

推荐答案

要获得通过空中下载(OTA)编程的工作,自己的codeBase类需要工作在另一个层之上(这样其他用户提得考虑壳的例子)。

To get over the air (OTA) Programming working, your own codebase needs to work on top of another layer ( thus other users mentioning too look into the shell examples ).

有可比运行的可执行文件和需要更新的Windows内核。

It is comparable to the Windows kernel that runs an executable and needs to update.

1:内核下载foo和保存该上的文件系统
。 2:内核终止旧富程序,并启动一些必需的文件验证后的新富计划
。 3:如果一切正常,老FOO程序被删除

1: Kernel downloads foo and saves this on its filesystem.
2: The kernel terminates the old foo program and starts the new foo program after some required file validation.
3: If everything is ok, the old foo program gets removed.

现在你可以看到,在更新程序的时间需要两次相同的设备(旧的和新的)上。

Now as you can see that at the time of updating your program needs to be twice on the same device ( the old one and the new one ).

我希望这给如何OTA编程工作更深入的了解。

I hope this gives more insight in how OTA programming works.

所以我会尽量用现在人来回答你的问题之一:

So i will try to answer your questions one by one now:

1)要分发的文件到所有其他节点,洪水被使用。现在,使用泛滥确实是相当棘手的使用。在半自助旅游旅行社的邮件列表下面的帖子给出了什么天空中的code的例子做了基本思路。 http://permalink.gmane.org/gmane.os.contiki.devel/4884

1) To distribute the files to all other nodes, deluge is used. Now using deluge is indeed quite tricky to use. The following post in the mailing list of contiki gives a basic idea what the code example for sky does. http://permalink.gmane.org/gmane.os.contiki.devel/4884 .

2)每微尘需要一个壳需要运行运行洪水的应用程序。和一个接收节点(一个传递最新的文件),需要调用deluge_dessiminate()函数来分发(dessiminate)的新方案。

2) Every mote needs a shell needs to run that runs the deluge application. And one sink node ( the one transmitting the newest file ) needs to call the deluge_dessiminate() function to distribute (dessiminate) the new program.

3)code将存储在咖啡文件系统。洪水将自动(后面deluge_dessiminate的场景,你的天空节点上洪水的应用程序)保存在天空节点的闪光的新文件。完成此操作后,您需要使用ELF加载器来运行这个程序。因为你需要你的程序是一个ELF文件的编译要由半自助旅游旅行社ELF_LOADER运行。

3) The code will be stored in the coffee file system. Deluge will automatically ( behind the scenes of deluge_dessiminate and the deluge app on your sky node ) save the new file on the flash of the sky node. After this is done, you need to run this program by using the ELF loader. Since you need your program to be an ELF compiled file to be run by the contiki ELF_LOADER.

4)我觉得你的意思是ROM?但是,是的,你需要额外的code:支持OTA编程,你需要你的应用程序的大小空间的两倍。所有的模块,你说你需要,你可能需要自己编写的壳侧。文件验证可以通过CRC检查您的文件来完成。

4) I think you mean ROM? But yes, you need extra code to support OTA programming and you need twice the space of the size of your application. All of the modules you say you need you probably need to program yourself on the shell side. file verification can be done by CRC checking your file.

这的确是一个大量的工作,我建议这样做,这是小步骤。
1:运行使用保存在咖啡文件系统上的ELF装载程序
。 2:dessiminate(洪水)你自己的(随机)文件从汇聚节点到另一个节点
3:dessiminate ELF文件
。 4:使用ELF加载运行deluge_dessiminated文件

This is indeed a lot of work and I suggest doing this is small steps.
1: Run a program using the ELF loader that is saved on the coffee file system.
2: dessiminate (deluge) your own (random) file from a sink node to the other nodes
3: dessiminate an ELF file.
4: run a deluge_dessiminated file using ELF loader.

和5:创建一个教程其他人分享知识

and 5: Create a tutorial for the other guys and share the knowledge!

我希望这将帮助你以任何方式。

I hope this will help you in any way.

这篇关于半自助旅游旅行社通过空中编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆