GithubHelp home page GithubHelp logo

alibaba / alios-things Goto Github PK

View Code? Open in Web Editor NEW
4.5K 4.5K 1.1K 1.72 GB

面向IoT领域的、高可伸缩的物联网操作系统,可去官网了解更多信息https://www.aliyun.com/product/aliosthings

License: Apache License 2.0

Makefile 0.19% C 78.00% Assembly 0.39% Python 2.46% Shell 0.83% C++ 5.18% HTML 10.81% Perl 0.03% Batchfile 0.02% Objective-C 0.22% JavaScript 0.94% CSS 0.27% CMake 0.16% Roff 0.43% M4 0.02% PowerShell 0.01% Metal 0.01% Meson 0.01% VBScript 0.01% Starlark 0.02%
embedded haas haas-python iot microcontroller os risc-v rtos

alios-things's People

Contributors

alenxiao avatar andy2012zwj avatar caveguy avatar cheng-sg avatar chenlf123 avatar eastmoutain avatar ethanlcz avatar gofortime avatar huaianrenhnu avatar junjiec avatar librae8226 avatar lite-on-iot-foong avatar liu-zilong avatar loglong007 avatar msbtx avatar raulcxw avatar ray148289 avatar security-release avatar shinyshy avatar skylarcai avatar wanguojian avatar wushengtws avatar wuxn9999 avatar xiaom-github avatar xiaowenxia1 avatar xicaichen-hangzhou avatar yanxiaoyong-ch avatar yilumao avatar yx170385 avatar zejiang0jason avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alios-things's Issues

example/wifimonitor 的用途

  1. wifimonitor 的具体作用是啥? 它的README只有简单的一句话
  2. 这个 demo 目前编译(aos make wifimonitor@mk3060)无法通过, 提示 umesh_get_mac_address() 缺少参数
  3. 如何让这个 demo 跑起来?除了MK3060和PC外,还需要其它设备吗,如何操作?

编译之后display_map_summary失败

按照例程编译helloworld,结果编译出现错误,二进制文件已经生成,且可以执行。但是编译还是存在错误,具体如下:
Build AOS Now
Traceback (most recent call last):
File ".//build/scripts/map_parse_gcc.py", line 15, in
mem_config_text = re.findall('Memory Configuration\n\nName Origin Length Attributes\n([\s\S]+)\nLinker script and memory map', s)[0]
IndexError: list index out of range
build/aos_target_build.mk:239: recipe for target 'display_map_summary' failed
make[1]: *** [display_map_summary] Error 1
build/Makefile:151: recipe for target 'main_app' failed

请问 usyscall syscall 在MCU ARCH/MCU上是怎么实现的

linxhost上面的例子没有编译usyscall syscall,
mk3060上面的例子也没有编译usyscall syscall,
怎么让usyscall syscall 在MCU ARCH/MCU上 编译进去;
usyscall syscall 系统调用 在MCU ARCH/MCU上是怎么实现的,怎么实现进入MCU核心态的

[AliOS-studio][ESP32] tool chain path.

设了 esp32 的 tool chain path,一直不会生效,无休止的跳出 “The Path is required!”,必须要设成 arm 的。难道内部只校验了 arm tool chain 的 prefix?

增加微秒级delay API

目前aos里只提供aos_msleep这样一个毫秒级的delay/sleep API。无法进行微秒级的时间控制,例如解析DHT11的数据编码。所以希望能提供一个微秒级的delay/sleep API,比如:aos_usleep

对文档的一些建议和改动

AliOS的文档目前是托管在仓库的Wiki上面的,但是个人觉得查阅起来没那么方便,因此用 Shpinx 框架对文档做了些改动:

  • 将其源码放到了 doc 目录下( 点这里查看)
  • 将生成的页面托管在 http://alios-things-doc-test.readthedocs.io 上面了
  • 将文档源码由 markdown 变为 reStructuredText 了(主要是为了支持 Sphinx 的更多功能)

这样修改后的一些好处

  • 可以通过doxygen自动从源代码中抽取注释并形成API文档,避免手动写API文档,最终自动生成的API文档的效果可以看 这里
  • 文档与源码维护在同一个仓库中,同时更新,防止今后出现文档、源码不匹配的现象
  • 由于是在同一个仓库中,今后每次Release新版本时都会有对应该版本的文档
  • 可以直接生成离线文档,例如 PDF、HTML、EPUB等
  • 如果今后有英文文档,也可以很方便地进行管理
  • 文档页内可以自动生成目录,整体也可以自动生成目录,且可折叠,方便查看文档
  • 可以对整个文档进行搜索

不过这样也有一些不好的地方,例如:

  • 有少量API的各式并非完全遵循Doxygen格式,因此需要做少量修改
  • reStructuredText 的语法跟 markdown 的语法有些区别

目前只是把基本架子搭建好了: http://alios-things-doc-test.readthedocs.io
如果觉得这样做有意义的话,我就继续做
如果觉得这样做没啥意义的话,我就不继续做下去了

aos_uart_send()问题

  1. aos_uart_send()和vfs有什么关系?为什么放在vfs.c里面?
  2. 不能写死用uart0,必须是可以配置的,不同的板子,debug uart不一定是UART0

物联网任重道远啊

大致看完readme,对alios-things具体干啥的一头雾水。建议给个实际的案例说明,而不是仅仅宽泛的说明我们啥都能干。
另外alios-things跟openwrt,lede比有啥优势呢?还是说大家瞄准的方向不一样。

文档更新

看到最新提交的代码IDE已经支持linux和Mac OS了,但是在讲解IDE部分的文档还是说目前只支持windows,希望文档和代码可以保持同步。

编译问题

编译过程中出现下面的log,然后就没法继续编译了,重新启动进行编译会出现gcc相关的找不到文件等错误。
[INFO-Build] -------------OUTPUT START-------------
[INFO-Build] Making config file for first time
[INFO-Build]
[INFO-Build] processing components: jingshuiqi mk3060 platform/mcu/moc108 vcall init auto_component
[INFO-Build]

studio没有开源吗

打算自己写个nodemcu的vscode插件。想知道vscode插件上的串口功能是如何实现的,以为可以找到源码。结果发现没有公布插件源码。

开发组可以告诉一下studio串口部分实现的思路吗,或者提供一下相关参考文档也可以

谢谢😁

[ESP32] 如何烧写?

除了直接用 esptool.py 之外,没有找到相关使用 aos 命令来进行烧写的文档。
VS 中用alios-stuido 的 Upload,输出为:

[INFO-Build] Run "aos make -e helloworld@esp32devkitc JTAG=jlink download"

settings.json 中已把 jlink 相关的删除了。

rhino

哈哈 我知道了

小建议

1.自我感觉目前文档这块比较偏向于介绍和使用方法。理论知识要少一些,建议将一些用到的物联网协议标准过参考资料通过外链的形式给出。方便新手系统学习。
2. 自我感觉文档中添加一些典型的应用案例更好,方便大家快速开发。

[bug] CLI 命令 time 总是返回 0 ms

MK3060 开发板, 随便烧写一个 APP(例如 helloworld),板子上电后
在串口终端输入命令 time
总是返回 UP Time 0ms


进一步检查,发现应该是函数 aos_cli_printf 的问题,例如,对于我下面的代码:

long long testval = 8888;

static void uptime_cmd(char *buf, int len, int argc, char **argv)
{
    testval = aos_now_ms();
    aos_cli_printf("time: %ld ms, 22=%d \r\n", testval, 22);
    aos_cli_printf("hello:%s \r\n", "hello");
    aos_cli_printf("UP time %ld ms \r\n", aos_now_ms());
}

程序的输出却是这样的:

# time

time: 22 ms, 22=2364 
hello:hello 
UP time 0 ms 

更进一步来讲的话,应该是库函数 vsnprintf 不能正确地对字符串进行格式化,但是我没找到这个函数的源码。


PS: 我的 arm-none-eabi-gcc 的版本是:

work@ubuntu:~/me/AliOS-Things$ /opt/gcc-arm-none-eabi-5_4-2016q3/bin/arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

希望弄重写下部分说明

第一次看到这个项目主页时一脸懵逼。原因很简单,主页上面没有开发适用平台(核心架构)和系统基本使用方法。希望在这个问题上参考下https://github.com/RT-Thread/rt-thread,下载链接并不是系统镜像而是一大堆其他软件的下载链接,而这些链接放在系统开发的方法中比较好吧。
文档排版也相当混乱,一会儿是中文,一会儿是英文,如果考虑国际化推广,务必考虑双语种。

AliOS-Things 在MAC上的配置

作为一个搞交互设计的小白,对AliOS-Things的应用前景感到很兴奋,很想利用它做一些场景性的探索。于是花了一点时间和怡然讨论整理出了AliOS-Things在MAC上的配置,供大家参考。MAC跟Windows的步骤其实差不多,主要是一些安装包的配置上会有些区别。

  1. 首先下载visual studio code,然后安装
    pasted graphic
  2. 安装之后打开,点击红圈进入安装扩展页面
    pasted graphic 2
  3. 在应用搜索中输入alios,唯一一个的扩展就是它
    pasted graphic 3
  4. 然后下载安装alios-studio,需要重启一次VS Code。重启后扩展生效,回到欢迎页面点击右下角create project,或者用键盘command+P打开命令窗口输入“>alios-studio:Create project”
    pasted graphic 4
    pasted graphic 5
  5. 第一次创立项目的时候需要配置SDK,注意这时对比windows的界面是多了一个tool-chain path的
    pasted graphic 6
  6. SDK path需要从GitHub上下载alios-things的开发包
    pasted graphic 7
  7. 我个人把它放到VS Code的extension目录下然后解压,注意这个.vscode是隐藏的,需要按command+shift+. 显示
    pasted graphic 8
  8. 除此之外还需要下载交叉工具链
    pasted graphic 9
  9. 下载解压后复制路径到tool-chain path里面
    pasted graphic 10
    然后就可以create project了,之后流程跟windows一样了。

atapp@linuxhost 运行会 crash

  1. 如题,在Linux平台上运行 atapp就会 crash.
  2. 文件platform/mcu/linux/soc/uart.c中的函数 hal_uart_init()的 pdrv 指针直接 hard-code 指向 uart0,这应该也不合理

有没有英文文档的计划?

目前的文档都是中文,为了让更多国外芯片厂商和开发人员参与进来,有没有计划发布英文版的文档?

研究了半天,没大看明白, 还是想给REPO的Master提些建议。

这个REPO还处在搭建期, 热心的代码贡献者(或合作者 )都希望把自己的体系放进阿里的平台中,可以理解。我也盼望着国产MCU或IC模块产业壮大起来, 但在代码结构方面还想几条建议:

  1. 感谢MXCHIP人员的努力和贡献。但却大量照搬了MiCO的代码, STM32系列的移植也是使用MiCO的模版。有些细节上需要注意。
    见 AliOS-Things/platform/mcu/include/platform_peripheral.h 第27行
MCU-specific data types are defined in <MiCO-SDK>/platform/MCU/<MCU_family>/platform_mcu_peripheral.h

但这个库文件却不是所有MCU的通用文件,在其它非MiCO移植的MCU目录下是没有的。另外还有些MiCO的参数和结构命名。是不是AliOS-Things其实是基于MiCO的RTOS的? 即便是这样,也最好是移植,不要照搬。
建议添加一个变体variants目录,将特殊的定义和宏都放在变体variants目录。

还有一点,在STM32F和L系列中ST的HAL 库,CMSIS库(可以用在IAR和Keil),但用了MiCO编程结构和习惯,学习成本太高。

  1. ESP8266仅进行网络层和串口flash空间分区的定义, 找不到引脚结构,HSPI,内部RTC,DeepSleep, 唤醒等等相关定义和注解。不会是只使用了ESP8266 的AT命令模式吧?! 现在还不明白ESP-8266作为核心(不依赖其它MCU)的项目如何操作, 我是在PlateformIO和Arduino上编译的。

  2. 引导+框架+应用的多Bin结构的FOTA想法很不错,虽然Repo是Apache 2.0 的开源授权,但还是建议不要包含太多无法解读的".bin"和“.a“二进制文件。理解并尊重专利,不过我不会在我的“联网”项目中使用不知道源码的底层文件,尤其还是WiFi相关的文件,实在懒得写完芯片再用WireShark、端口扫描类程序做安全测试。
    建议说明这些bin和静态库a文件的编译过程和方法。我看很多二进制文件是可以GIT到源码自己编译出来的。

之所以写这么多,是希望AliOS-Things 能越做越好,能真正用起来,让**自主的IoT项目越来越多。

以后会常来看看。

祝好!
CS.Nol

AliOS Things移植硬件平台要求

你好,我想学习下移植AliOS,请问对硬件平台有什么要求?如果我用FPGA开发板烧一个MIPS的系统,可以移植嘛?

framework中相关说明较少

你好,目前framework中的一些简写没有说明,是否可以尽快补充相关说明,不然都不知道是啥。

ESP32 libdriver.a 库文件 FreeRTOS 接口缺失

在封装乐鑫提供的 GPIO 接口 .\platform\mcu\esp32\bsp\include\driver\include\driver\gpio.h 中断相关的函数时(gpio_isr_handler_add、gpio_isr_handler_remove、gpio_install_isr_service、gpio_uninstall_isr_service),编译报错找不到 vTaskEnterCritical 和 vTaskExitCritical 两个与临界区相关的操作,进一步得知两者来源于 esp-idf 中 FreeRTOS 组件中, aos 似乎没有将两者编译到目标 \platform\mcu\esp32\lib\libdriver.a 中,也没有提供 FreeRTOS 组件。

[ERROR-Build] ././platform/mcu [ERROR-Build] /esp32/lib/libdriver.a(gpio.o):(.literal.gpio_isr_handler_add+0x14): undefined reference to vTaskEnterCritical'
[ERROR-Build] ././platform/mcu/esp32/lib/libdriver.a(gpio.o):(.literal.gpio_isr_handler_add+0x18): undefined reference to vTaskExitCritical' [ERROR-Build] ././platform/mcu/esp32/lib/libdriver.a(gpio.o): In function gpio_isr_handler_add':
[ERROR-Build] /home/junjie-cai/github/esp-idf-alios/components/driver/./gpio.c:428: undefined reference to vTaskEnterCritical' [ERROR-Build] /home/junjie-cai/github/esp-idf-alios/components/driver/./gpio.c:428: undefined reference to vTaskExitCritical'
[ERROR-Build] ././platform/mcu/esp32/lib/libdriver.a(gpio.o): In function gpio_isr_handler_remove': [ERROR-Build] /home/junjie-cai/github/esp-idf-alios/components/driver/./gpio.c:428: undefined reference to vTaskEnterCritical'
[ERROR-Build] /home/junjie-cai/github/esp-idf-alios/components/driver/./gpio.c:428: undefined reference to vTaskExitCritical' [ERROR-Build] ././platform/mcu/esp32/lib/libdriver.a(gpio.o): In function gpio_install_isr_service':
[ERROR-Build] /home/junjie-cai/github/esp
[ERROR-Build] -idf-alios/components/driver/./gpio.c:406: undefined reference to vTaskEnterCritical' [ERROR-Build] /home/junjie-cai/github/esp-idf-alios/components/driver/./gpio.c:413: undefined reference to vTaskExitCritical
[ERROR-Build] '
[ERROR-Build] collect2.exe: error: ld returned 1 exit status`

尝试通过更底层操作重写中断相关函数,但程序无法正常运行(无效果、跑飞重启),请问该如何解决此问题从而调用乐鑫 gpio 接口中断相关函数,能力有限,感谢解答……

请教 modules/fs/fatfs/

请问,modules/fs/fatfs/ 里面为何不考虑操作 “片上FLASH” 的接口呢? 特别是在 diskio.c 文件中。

Github 速度慢

github的速度真的很慢。每次clone代码都很长时间。请问有没有什么好的解决办法。

关于BINS=app/framework/kernel,看不到具体的介绍啊

sudo aos make helloworld@linuxhost
sudo aos make helloworld@b_l475e
sudo aos make helloworld@mk3060
sudo aos make helloworld@mk3060 BINS=kernel
sudo aos make helloworld@mk3060 BINS=app
以上几条命令编译都可以通过,但是下面的这几条会报错,请问是有什么要特别设置的吗?
sudo aos make helloworld@mk3060 BINS=framework
sudo aos make helloworld@b_l475e BINS=app
sudo aos make helloworld@b_l475e BINS=framework
sudo aos make helloworld@b_l475e BINS=kernel
sudo aos make helloworld@linuxhost BINS=app
sudo aos make helloworld@linuxhost BINS=framework
sudo aos make helloworld@linuxhost BINS=kernel

MQTT topic is forced to start with slash

I'm trying to run a mqtt app on my device. After several unsuccessful test, I noticed that the mqtt client of AliOS will check the topic name and if the topic name does not start with slash "/", error would be return. Anyone could explain why?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.