FAQ

在本页您可以找到许多关于联发科技 LinkIt™ Assist 2502 开发者常问的问题和解答,它们分类如下:

关于开发平台

什么是 LinkIt Assist 2502 开发平台?

LinkIt Assist 2502 是一个支持可穿戴与物联网设备设计的开发平台,有着丰富连接功能、尺寸小与最佳功耗等特色。

手机物联网的定义是什么?

设备可以透过 2G 调制解调器(GSM/GPRS)长期连线到网络,但无法透过 Wi-Fi 网络永久连线,如汽车追踪器、远程监控与类似的设备。

我可以用 LinkIt Assist 2502 开发平台做些什么?

您能用 LinkIt Assist 2502 开发平台建立:

  • 控制可穿戴与物联网设备的应用软件
  • 使用 LinkIt Assist 2502 开发板的原型设备

我为什么要用 LinkIt Assist 2502 开发板?

可穿戴与物联网设备的市场预计会在接下来几年快速的成长,替软件与硬件开发商、创客、制造商提供新的机会。今天开始用 LinkIt Assist 2502 开发的您,有机会在这令人兴奋的时机成为企业家先驱。

有没有厂商或者其他开发者运用  LinkIt Assist 2502 的实在 示例 ?

您可以在我们的应用实例页面查看厂商和开发者社区使用 LinkIt 开发板所建立的产品和项目。

硬件功能

什么是 Aster?

Aster 是联发科技 MT2502 可穿戴系统级芯片 (SOC) 的代码,也是可穿戴与物联网市面上最小的产品(2015年4月)。

LinkIt Assist 2502 开发平台搭载什么芯片组?

LinkIt Assist 2502 的核心芯片组为联发科技 MT2502 (Aster),非常适合可穿戴的开发。该开发平台也能搭配 Wi-Fi (MT5931) 与 GNSS (MT3332) 芯片组以支持 Wi-Fi 与 GNSS。

LinkIt Assist 2502 开发平台支持蓝牙吗?

支持, 联发科技 MT2502 内置支持双模式蓝牙 2.1 和 4.0。

LinkIt Assist 2502 开发平台支持 Wi-Fi 吗?

支持,搭配联发科技 Wi-Fi (MT5931) 芯片组至硬件设计,LinkIt Assist 2502具备Wi-Fi连线能力 (802.11 xxx)。

LinkIt Assist 2502 开发平台支持全球导航卫星系统(GNSS)吗?

支持, 搭配联发科技 GPS (MT3332) 芯片组至硬件设计,LinkIt Assist 2502具备全球导航卫星系统GNSS (GPS/GLONASS/北斗) 能力。

LinkIt Assist 2502 开发平台支持什么样的手机网络技术?

LinkIt Assist 2502 开发平台内的联发科技 MT2502 芯片组提供了GSM 和 GPRS 手机网络技术的支持。这些技术使 LinkIt Assist 2502 设备能发送和接收 SMS 信息,并通过 2G 网络传输和接收数据。

看来联发科技提供不同版本的 MT2502 芯片组,MT2502A 与 MT2502D 有何差别?

Aster 芯片组提供两种版本:

  • MT2502A 支持完整的 MT2502 功能,包含内置的 32Mb RAM 和外部闪存。
  • MT2502D 内置 32Mb RAM 与 32Mb ROM,但不支持 GSM/GPRS(无2G调制解调器)。

目前 LinkIt Assist 2502 开发平台是基于联发科技 MT2502A.

LinkIt Assist 2502 支持 SPI 界面的屏幕吗?

支持。LinkIt Assist 2502 支持联发科技 serial 屏幕界面以及 SPI 屏幕界面。请参考 LinkIt Assist 2502 开发者指南了解更多细节。 请注意 LinkIt Assist 2502 仅支持具备联发科技 serial LCD 屏幕界面的设备。请使用 DLC API 根据 SPI 界面设备本身定义的协议传输缓冲区。

LinkIt Assist 2502 有没有 GPS 天线呢 ?

有。LinkIt Assist 2502 有一个内建 GPS 天线。

LinkIt Assist 2502 HDK 的 GPS 天线频率涵盖了 1598.06MHz 到 1605.38MHz。

如何使用 LinkIt Assist 2502 拨打电话和接听电话?

您可以使用以下范例代码来拨打和接听电话:

voice_call.c
 
Please use this sample code:
/*
  This example code is in public domain.
 
  This example code is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
 
/*
  This example demonstrates how to make and receive call using vm_gsm_tel_call_actions().
 
  This example make voice call to a recipient's mobile phone number, which can be modified
  in vm_make_voice_call(). For example, replace XXXXXXXXX with a valid phone number in your country
  like 4085261899.
 
  This example requires a SIM card installed on the board.
 */
#include "vmtype.h"
#include "vmboard.h"
#include "vmsystem.h"
#include "vmlog.h"
#include "vmtimer.h"
#include "vmgsm_sms.h"
#include "vmgsm_sim.h"
#include "vmgsm_cell.h"
#include "vmgsm_tel.h"
 
/* tel action callback */
void vm_gsm_tel_call_actions_cb(vm_gsm_tel_call_actions_callback_data_t *data){
    vm_log_info("vm_gsm_tel_call_actions_cb start");
    if(data == NULL)
    {
        vm_log_info("vm_gsm_tel_call_actions_cb return");
        return ;
    }
 
    /* tel action type */
    switch(data->type_action){
        case VM_GSM_TEL_CALL_ACTION_NO:
        vm_log_debug("No action.");
        break;
        case VM_GSM_TEL_CALL_ACTION_DIAL:
        vm_log_debug("Dial action");
        break;
        case VM_GSM_TEL_CALL_ACTION_ACCEPT:
            vm_log_debug("Accept action");
            break;
        case VM_GSM_TEL_CALL_ACTION_HOLD:
            vm_log_debug("Hold action");
            break;
        case VM_GSM_TEL_CALL_ACTION_END_SINGLE:
            vm_log_debug("End single action");
            break;
    }
 
    /* tel action result */
    switch(data->data_act_rsp.result_info.result){
        case VM_GSM_TEL_OK:
            vm_log_debug("OK.");
            break;
        case VM_GSM_TEL_ERROR_UNSPECIFIED_ERROR:
            vm_log_debug("Unspecified error.");
            break;
        case VM_GSM_TEL_ERROR_CANCEL:
            vm_log_debug("Cancel.");
            break;
        case VM_GSM_TEL_ERROR_USER_ABORT:
            vm_log_debug("User abort.");
            break;
        case VM_GSM_TEL_ERROR_ACTION_NOT_ALLOWED:
            vm_log_debug("Action not allowed.");
            break;
        case VM_GSM_TEL_ERROR_NOT_ALLOWED_TO_DIAL:
            vm_log_debug("Not allowed to dial.");
            break;
        case VM_GSM_TEL_ERROR_NOT_ALLOWED_TO_ACCEPT:
            vm_log_debug("Not allowed to accept.");
            break;
        case VM_GSM_TEL_ERROR_NO_ACTIVE_CALL:
            vm_log_debug("No active call.");
            break;
        case VM_GSM_TEL_ERROR_CALLED_PARTY_BUSY:
            vm_log_debug("Called party busy.");
            break;
        case VM_GSM_TEL_ERROR_NETWORK_NOT_AVAILABLE:
            vm_log_debug("Network not available.");
            break;
        case VM_GSM_TEL_ERROR_CALLED_PARTY_NOT_ANSWERED:
            vm_log_debug("Called party not answered.");
            break;
        case VM_GSM_TEL_ERROR_SOS_NUMBER_ONLY:
            vm_log_debug("SOS number only.");
            break;
        case VM_GSM_TEL_ERROR_INVALID_NUMBER:
            vm_log_debug("Invalid number.");
            break;
        case VM_GSM_TEL_ERROR_EMPTY_NUMBER:
            vm_log_debug("Empty number.");
            break;
        case VM_GSM_TEL_ERROR_SOS_CALL_EXISTS:
            vm_log_debug("Exist SOS call.");
            break;
        case VM_GSM_TEL_ERROR_PREFERRED_MODE_PROHIBIT:
            vm_log_debug("Preferred mode prohibit.");
            break;
        case VM_GSM_TEL_ERROR_FLIGHT_MODE_PROHIBIT:
            vm_log_debug("Flight mode prohibit.");
            break;
        case VM_GSM_TEL_ERROR_LOW_BATTERY:
            vm_log_debug("Low battery.");
            break;
        case VM_GSM_TEL_ERROR_UCM_BUSY:
            vm_log_debug("Busy.");
            break;
        case VM_GSM_TEL_ERROR_VT_FALLBACK:
            vm_log_debug("VT fallback.");
            break;
    }
 
    vm_log_info("vm_gsm_tel_call_actions_cb end");
}
 
/* voice call events call back function */
static void vm_gsm_tel_call_listener_cb(vm_gsm_tel_call_listener_data_t* data)
{
    vm_log_info("vm_gsm_tel_call_listener_cb start");
    if(data == NULL)
    {
        vm_log_info("vm_gsm_tel_call_listener_cb return");
        return ;
    }
 
    /* External call incoming */
    if(data->call_type == VM_GSM_TEL_INDICATION_INCOMING_CALL)
    {
        static VMUINT16 i=1;
        vm_gsm_tel_call_info_t* call_info = (vm_gsm_tel_call_info_t*)data->data;
        vm_log_debug("Incoming number is %s", (char*)call_info->num_uri);
 
        vm_gsm_tel_single_call_action_request_t req;
        vm_gsm_tel_id_info_t tel_id;
        vm_gsm_tel_call_actions_data_t data;
        VM_RESULT ret;
        req.action_id.sim = VM_GSM_TEL_CALL_SIM_1;
        req.action_id.call_id = 1;
        req.action_id.group_id = 1;
 
        data.action = VM_GSM_TEL_CALL_ACTION_ACCEPT;        /* set tel call action to accept calls */
        data.data_action = (void*)&req;
        data.user_data = (void*)NULL;
        data.callback = vm_gsm_tel_call_actions_cb;
 
        ret = vm_gsm_tel_call_actions(&data);
        if(VM_IS_SUCCEEDED(ret))
        {
            vm_log_info("incoming success");
        }
        else
        {
            vm_log_info("incoming failed");
        }
    }
    else if(data->call_type == VM_GSM_TEL_INDICATION_OUTGOING_CALL)
    {
       vm_gsm_tel_call_info_t* call_info = (vm_gsm_tel_call_info_t*)data->data;
       vm_log_info("Outgoing, calling number is %s", (char*)call_info->num_uri);
    }
    else if(data->call_type == VM_GSM_TEL_INDICATION_CONNECTED)
    {
        vm_log_info((char*)"connect success");
    }
    else if(data->call_type == VM_GSM_TEL_INDICATION_CALL_ENDED)
    {
        vm_log_info((char*)"call end");
    }
 
    vm_log_info("vm_gsm_tel_call_listener_cb end");
}
 
/* make voice call */
void vm_make_voice_call(){
    char *num = "XXXXXXXXXX";   /* dial number*/
    VMINT number_count = 0;
    VM_GSM_SIM_ID sim_id;
    VMBOOL res;
    number_count = vm_gsm_sim_get_card_count();
    sim_id = vm_gsm_sim_get_active_sim_card();
    res = vm_gsm_sim_has_card();
    vm_log_debug("sms read card count is %d, active sime card is %d, sim card result %d", number_count, sim_id, res);
 
    VM_RESULT result;
    vm_gsm_tel_call_actions_data_t vm_gsm_tel_call_action_data;
    vm_gsm_tel_dial_action_request_t vm_gsm_tel_dial_action_request;
 
    vm_gsm_tel_dial_action_request.sim = VM_GSM_TEL_CALL_SIM_1;
    vm_chset_ascii_to_ucs2((VMWSTR)vm_gsm_tel_dial_action_request.num_uri, VM_GSM_TEL_MAX_NUMBER_LENGTH, (VMSTR)num);
    vm_gsm_tel_dial_action_request.module_id = 0;
    vm_gsm_tel_dial_action_request.is_ip_dial = VM_FALSE;
    vm_gsm_tel_dial_action_request.phonebook_data = NULL;
 
    vm_gsm_tel_call_action_data.action = VM_GSM_TEL_CALL_ACTION_DIAL;        /* set action to dial voice call */
    vm_gsm_tel_call_action_data.data_action = (void *)&vm_gsm_tel_dial_action_request;
    vm_gsm_tel_call_action_data.callback = vm_gsm_tel_call_actions_cb;
 
    result = vm_gsm_tel_call_actions(&vm_gsm_tel_call_action_data);
    if(VM_IS_SUCCEEDED(result))
        vm_log_info("make voice call success");
    else
        vm_log_info("make voice call failed");
}
 
/* The callback to be invoked by the system engine. */
void handle_sysevt(VMINT message, VMINT param) {
    switch (message) {
        case VM_EVENT_CREATE:
            vm_log_info("make voice call");
            vm_make_voice_call();
            break;
 
        case VM_EVENT_QUIT:
            vm_log_debug("voice call quit");
            break;
    }
} 
/* Entry point */
void vm_main(void){
    /* Registers system event handler */
    vm_pmng_register_system_event_callback(handle_sysevt);
 
    vm_log_info("call back reg start");
    vm_gsm_tel_call_reg_listener(vm_gsm_tel_call_listener_cb);      /* register listener call back function */
    vm_log_info("call back reg end");
}


软件开发

LinkIt Assist 2502 开发平台的软件开发环境是什么?

我们提供 LinkIt Assist 2502 SDK 2.0 (下载) 让您开发 LinkIt Assist 2502 的软件。

哪些电脑操作系统能运行 LinkIt Assist 2502 SDK 2.0?

LinkIt Assist 2502 SDK 2.0 目前支持微软 Windows XP、Vista、7 和8。

我可以用 LinkIt Assist 2502 SDK 2.0 做什么?

LinkIt Assist 2502 SDK 2.0 提供 Eclipse IDE 插件。此插件提供各种 API,让您运用 LinkIt Assist 2502 开发板既有的功能例如 GNSS 和 GSM。该 SDK 让您快速的建立和演示可穿戴与物联网原型机(在产品概念期)。

我可以在 LinkIt Assist 2502 开发平台上建立其他的应用程序吗?

不能。您可以建立控制 LinkIt Assist 2502 设备的软件但是不能安装其他应用, 您可以使用蓝牙,Wi-Fi, GPRS 和 SMS 来建立搭配应用或云服务来扩展该开发板的通讯功能。

您还可以使用免费的联发科技云服务和其他网络服务创建云应用来管理和控制可穿戴与物联网设备。

我可以使用 LinkIt Assist 2502 建立与用户直接互动的应用吗?

可以。LinkIt Assist 2502 API 包含图形库和 LinkIt Assist 2502 开发板包含一个 LCD 屏幕。用户界面(UI)库包含矢量字(驿创)和多种图形库。

我可以用 C 语言来编程 LinkIt Assist 2502 应用吗?

可以。虽然我们的 API 是基于 C 语言编程,但编译器工具链中支持 C++。如果您想用 C++ 语言为 LinkIt Assist 2502 编程应用程序,请在生成项目后将 helloworld.c 重新命名为 helloworld.cpp。但请知悉,有一些 C++ 库可能依赖于一些 LinkIt Assist 2502 开发平台不支持的函数。

关于字节对齐是否有任何限制?

ARM 处理器对字节对齐有严格的要求。如果它需要在一个步骤中访问 4 个字节内容,则该内容的起始地址必须位于 4 个字节的边界上。同样地,如果有必要访问 2 个字节的内容在单一的步骤中,则该内容的起始地址必须位于 2 字节的边界上等等,或将发生异常(exception)。

当发生字节对齐问题时主要与不正确的指针转换有关,例如一个字节的指针转换成一个结构指针。您应该尽量避免这种类型的指针转换。另外,由 vm_malloc 返回的指针必须被强制转换并通过 vm_malloc 指针返回,而不管其分配的空间的大小,必须正确对齐。

我可以使用浮点数和浮点运算吗?

您可以使用浮点数在 LinkIt Assist 2502,然而由于浮点计算是在软件中实现,性能不如同于使用硬件来实现。建议您尽可能避免浮点运算。

我可以客制启动流程吗?

不能。启动流程已在固件定义并且不能由应用来定制。

有两种方法可以启动系统,但取决于硬件配置:一个是通过插入USB电缆和另一个是通过按下硬件的电源键。请参阅联发科技LinkIt Assist 2502 开发者指南的 boot flow 章节了解更多细节。

我可以在 LinkIt Assist 2502 开发板上用 LinkIt ONE SDK 的软件吗?

可以,但是有些限制。LinkIt ONE SDK (Arduino) 移植代码范例是让您更新自己的代码来做移植的。但是移植范例仅提供 Arduino 核心功能-请参见联发科技LinkIt Assist 2502 开发者指南了解更多细节。

我可以用 LinkIt Assist 2502 SDK 来为 LinkIt ONE开发板建立软件吗?

可以。虽然由于硬件限制有些 API 的功能无法运作,包括访问显示器或使用振动器- 但这些功能在 LinkIt ONE 开发板上也既不存在。

我要如何使用 LinkIt Assist 2502 SDK 2.0 来更新 LinkIt ONE 开发板固件?

您可以使用 LinkIt Assist 2502 SDK 2.0 来更新 LinkIt ONE 开发板的固件。 步骤如下:

1. 请依照 LinkIt Assist 2502 开发者指南章节 2.4 “更新固件”(第 19页开始) 来完成 LinkIt ONE 固件更新。
2. 使用一条 USB 线来连接开发板与计算机。请注意不要使用充电用途的 USB 线,尤其是搭配行动电池的那种, 因为这种 USB 线没有数据传输线。

3. 确认 MS/UART 开关已经切换到 MS 模式。开关切换好后,请按下 reset 按钮。 
4. 启动 FirmwareUpdater.exe。该文件路径是 {SDK_path}\tools\FirmwareUpdater\ folder, 也就是 LinkIt Assist SDK 2.0 的安装路径。  

5. 启动 FirmwareUpdater 以后,在 FirmwareUpdater 窗口按下 “下箭头” 键。 
6. 然后再次按下 reset 按钮并且等待程序跑完,就可以了。

我能使用 LinkIt Assist 2502 的摄像 API 吗?

不能。MT2502 芯片组的本地摄像界面并没有提供摄像 API。LinkIt Assist 2502 可以通过 SPI 或者 I2C 界面连接外部摄像机。但是需要依照案例来移植摄像机厂商的驱动程序到 LinkIt Assist 2502 开发平台上。

我要如何在使用 LinkIt Assist 2502 时更快的取得 GPS 数据 ?

您可以在调用 API 之前设定好以下参数来取得 GPS 坐标:

vm_gps_set_parameters(VM_GPS_SET_LOCATION_REPORT_PERIOD, 2, NULL);

vm_gps_set_parameters( VM_GPS_SET_ASSIST_DATA_FOR_FAST_FIXED, 1, NULL);

如何在代码中实现延时?

您可以调用 vm_thread_sleep API 来实现延时。

我要如何使用 HTTP POST API 将 GPS 定位数据传到云端服务器

您可以使用 LinkIt Assist 2502 SDK 的 GPS 范例来取得 GPS 定位数据,例如 "纬度" 和 "经度",然后再使用 Network_HTTP 范例来上传数据至云端服务器。

我要如何在 LinkIt Assist 2502 使用 Wi-Fi 和 HTTP POST API?

您可以使用 LinkIt Assist 2502 SDK 2.0 的范例来使用 Wi-Fi 和 HTTP POST API ,步骤如下:

  1. 执行 WLAN_Connect 范例以建立 Wi-Fi AP 连接。
  2. 执行 Network_HTTP 范例以建立 HTTP 连接。如果您要使用 Wi-Fi 请使用 VM_BEARER_DATA_ACCOUNT_TYPE_WLAN 类型。 
  3. 设定正确的 SSID 和 密码。
  4. 在调用 HTTP API 之前请确认已经建立好 Wi-Fi 连接。

soc_sub_thread 能调用那些 API 呢?

不是所有函数都可以在 sub_threads 里调用,只有 DCL (Driver Common Layer) 和 BSD (basic) API可以在 sub_threads 里调用 。 

其他的 API 必须在 main thread 里调用。

硬件开发

LinkIt Assist 2502 的硬件开发环境是什么?

LinkIt Assist 2502 HDK 包含一个开发板(由 Seeed Studio 制造)和一个模块(已架在开发板上),该模块是由 AcSiP 制造。

LinkIt Assist 2502 模块里有什么?

LinkIt Assist 2502 模块合并联发科技 MT2502 芯片组,16MB 闪存,GSM 和蓝牙必要组件-功率放大器,该模块采用 LGA 封装。

为什么联发科技 MT2502 提供一个单独的模块?

这是因为联发科技 MT2502 芯片组通常只提供给联发科技授权客户。而我们为了让您购买该模块提供这个单独提供的组件。

我可以用 LinkIt Assist 2502 模块自行设计硬件吗?

可以。原理图、布局图与物料清单 (BOM) 都包含在 LinkIt Assist 2502 硬件参考设计包。您也可以在 LinkIt Assist 2502 文件页面找到芯片组 Datasheet。

我想自己建立硬件,在那里可以购买联发科技 MT 2502 芯片组?

联发科技 MT2502 芯片组通常只提供给联发科技授权客户,如果您想要自己建立硬件而需要购买 LinkIt Assist 2502 模块(AcSiP 制造),您可以在 Seeed Bazaar 和联发科技授权的分销商订购。

我需要重新建立我的 LinkIt Assist 2502 设备的每个环节吗?

不需要。联发科技提供 LinkIt Assist 2502 硬件参考设计,也与合作夥伴 Seeed Studio 提供 LinkIt Assist 2502 开发板。此开发板提供所有硬件设计的核心要素,让您专注于设计独特的原型装置。

购买 LinkIt Assist 2502 开发板和模块

在那里可以购买 LinkIt Assist 2502 开发板?

您可以在 Seeed Bazaar 和授权的 Seeed 批发商或 TMALL 购买LinkIt Assist 2502 开发板.

在那里可以购买 LinkIt Assist 2502 模块?

您可以在 Seeed Bazaar 和授权的 Seeed 批发商或 TMALL 购买 LinkIt Assist 2502 模块,或者 AcSiP 经由他们的分销合作伙伴提供该模块, 请参考 AcSiP 网站查询分销商信息。

把基于 LinkIt Assist 2502 的物联网原型设备推向市场

我如何购买 MT2502A,MT5931 和 MT3332 芯片组来组装自己的产品?

联发科技只向授权的客户与合作夥伴贩售芯片组。许多合作夥伴(如 Seeed Studio)或其他 OEM/ODM 将乐于协助您的原型机与创建您的硬体设计。

我可以购买含有 MT2502, MT5931 和 MT3332 芯片组的模块吗? (类似LinkIt Connect 7681 开发板的模块)?

您可以买到含有 MT2502A, MT5931 or MT3332 芯片组的模块。

我要如何把 LinkIt Assist 2502 设备推向市场?

LinkIt Assist 2502 开发平台的联发科技 MT2502 系统级芯片组、开发板与 SDK,让任何人都能将创意化为现实的可能性。然而我们了解创客社区将原型机商品化不是这么容易。我们的合作伙伴供应商提供可穿戴与物联网设备推向市场的服务。联发科技创意实验室注册成员能获得与这些合作伙伴联系的服务,您只要登录网站然后在您感兴趣的供应商点击业务查询

你可以告诉我任何使用 LinkIt Assist 2502 建立的应用实例吗?

请至我们的应用实例网页来查看开发平台的产品实例。

LinkIt Assist 2502 开发平台故障排除

我的 LinkIt Assist 2502 开发板接上 USB 线之后还是不能启动,这是哪里出错了?

您必须插入电池来启动开发板。

.vxp 无法成功的上传到 LinkIt Assist 2502 开发板,为什么?

请确认您检查了以下步骤:

  • 将 LinkIt Assist 2502 开发板连接上一个电池。
  • 将 LinkIt Assist 2502 开发板连接上一个计算机。
  • 如果这是第一次连接,按下 PWR 按钮 3 秒钟直到 PWR LED(红色)开始闪烁。 
  • 检查 device manager,您应该在 debug/modem ports 看见正确的设备。
  • 透过 Eclipse IDE 上传您的应用。 

    还有也确认: 
    1. 关闭 Eclipse log monitor AT 命令窗口,因为它会占据 modem 端口。 
    2. 如果您的 Arduino IDE 是打开的,请关闭它的 serial monitor, 否则它会占据 Modem 端口。

当我试著上传我的应用至 LinkIt Assist 2502 开发板,一直得到 “Please upgrade your firmware” 的错误讯息 - 我该怎么做?

有一个实用的固件更新工具在LinkIt Assist 2502 SDK 2.0 能帮助您更新开发板固件,运行后应该能解决这个问题。详情请参考LinkIt Assist 2502开发者指南

我的应用似乎没办法上传到开发板上了,可能是什么问题?

LinkIt Assist 2502 开发者指南内包含详细的故障排除协助您解决各种问题。如果仍然无法运作,您可以在我们的论坛搜寻和找到有用的信息(请发帖如果您的标题是从未发问过的)。

我在升级固件时得到错误讯息,我该如何解决这个问题?

请确保接上 USB 线之前板子是关闭的。正确的顺序是:在固件升级工具点击下载,拔掉 USB 线并取下电池,然后重新安装电池再接上 USB 线。

LinkIt Assist 2502 开发板有没有调试支持?

在 SDK 工具里有调试应用逻辑的记录系统。如果是固件错误,您可以在论坛上发帖。在某些情况下,您可以为 LinkIt Assist 2502 开发板要求提供调试固件来产生调试记录。

我的开发板似乎停止运作了,我该怎么做?

如果您的开发板已依照以下方法仍无法运作:LinkIt Assist 2502开发者指南故障排除章节、进行更新以重设固件,那可能是您的开发板硬件故障了,在这种情况下请联系 Seeed Studio的技术支持

我的外部设备似乎无法用于 LinkIt Assist 2502开发板,可能有什么问题?

电压:LinkIt ONE 接脚操作电压为 3.3V,而 LinkIt Assist 2502 开发板的接脚操作电压为 2.8V; 请检查您的外部设备的操作电压。

Timing:由于 LinkIt Assist 2502 的固件运行 RTOS,线程之间必须共享来访问硬件资源。因此,当线信号需要严格 Timing 的组件可能无法在 LinkIt Assist 2502 平台上正常运作。我们建议使用能运行 I2C 和 SPI 协议的硬件组件。

在 LinkIt Assist 2502 开发者指南有更多细节。如果你的外部设备不在此列表中,请搜索我们的论坛(请发新帖,如果问题还未被讨论过)。

我无法下载或者找到 EPO.dat 文件,为什么?

请确认 LinkIt Assist 2502 开发板上的固件是最新版本。

GPS 的 EPO (Extended Prediction Orbit) 功能是默认打开的。 要取得 EPO.dat 文件, 开发板在那个时间点必须通过 Wi-Fi 或者 GPRS连上网络。 连上网络之后,比如 5 分钟后,EPO.dat 就会自动下载到闪存,在 Mass Storage (MS) 模式下可以在计算机的文件管理中看见该文件。 如果没有开启 Wi-Fi 或者 GPRS, 那么就不会下载 EPO.dat 文件。 因此您只会看见由 GPS 生成的本地文件 MTKGPS.dat  。

使用 I2C 总线和加速度计时遇见问题,可能是什么原因

如果您使用 I2C 设备遇到问题,请确认 I2C 地址是正确的。

无法使用 Eclipse IDE 日志监控 (log monitor), 为什么?

请确认您已经检查以下步骤:

  1. 更新 LinkIt Assist 2502 开发板固件到最新版本。
  2. 选择此固件版本路径为数据库路径。
  3. 选择调试端口 (debug port) 为日志监控端口。
  4. 确认 Eclipse IDE 路径没有任何特殊符号或者空格。

GPS_Open API 无法在 LinkIt Assist 2502 运行,是什么问题?

请确认您已经更新固件到最新版本 2.0.46。 GPS_Open API 问题已经在版本 2.0.46 上解决。 

HelloWorld 程序(SDK 2.0) 在 Eclipse IDE 跑不起来,怎么办?

您可以把 Eclipse IDE 文件夹挪到一个没有空白字符和其他特殊符号的路径,然后以管理员身份启动 Eclipse IDE 。