All Projects → mandl → LinkIt_Assist_2502

mandl / LinkIt_Assist_2502

Licence: other
Linux support for LinkIt Assist 2502 and Rephone

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
objective c
16641 projects - #2 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to LinkIt Assist 2502

voron-ht
Klipper configuration for my Voron 2.4
Stars: ✭ 20 (+11.11%)
Mutual labels:  firmware
Mirage
Reimplementation of the Nintendo Switch firmware
Stars: ✭ 40 (+122.22%)
Mutual labels:  firmware
nitrokey-storage-firmware
Firmware for the Nitrokey Storage device
Stars: ✭ 53 (+194.44%)
Mutual labels:  firmware
fuzzware
Fuzzware's main repository. Start here to install.
Stars: ✭ 132 (+633.33%)
Mutual labels:  firmware
polargraph server polarshield
Firmware for PolargraphSD based on Arduino MEGA 2560, current until 2018.
Stars: ✭ 21 (+16.67%)
Mutual labels:  firmware
StratifyOS
A Powerful embedded RTOS for ARM Cortex M microcontrollers
Stars: ✭ 94 (+422.22%)
Mutual labels:  firmware
sympetrum-v2
A communicative piece of wearable electronics.
Stars: ✭ 22 (+22.22%)
Mutual labels:  firmware
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (+122.22%)
Mutual labels:  firmware
lumazoid
Firmware for the Lumazoid realtime music visualizer board
Stars: ✭ 85 (+372.22%)
Mutual labels:  firmware
Phicomm-K2P-K3-OpenWrt-Firmware
Phicomm K3 OpenWrt firmware Compile by Github Actions,(K2P firmware update,see my mood)
Stars: ✭ 42 (+133.33%)
Mutual labels:  firmware
ipset-netgear-r7000-dd-wrt
Packages and kernel modules for ipset support for the Netgear R7000 running DD-WRT firmware
Stars: ✭ 45 (+150%)
Mutual labels:  firmware
smram parse
System Management RAM analysis tool
Stars: ✭ 50 (+177.78%)
Mutual labels:  firmware
adb-cheatsheet
Your journey to master Android™ Shell begins here
Stars: ✭ 44 (+144.44%)
Mutual labels:  firmware
flipperzero-firmware
Flipper Zero firmware source code
Stars: ✭ 2,551 (+14072.22%)
Mutual labels:  firmware
ADEM
Mobile device for distributed measurements of particulate matter (fine dust)
Stars: ✭ 12 (-33.33%)
Mutual labels:  firmware
nsec-badge
Software from the NorthSec badge
Stars: ✭ 34 (+88.89%)
Mutual labels:  firmware
firmware
Alternative IP Camera firmware from an open community
Stars: ✭ 236 (+1211.11%)
Mutual labels:  firmware
826-x-ip-camera
For the examination of an mipc connected camera
Stars: ✭ 49 (+172.22%)
Mutual labels:  firmware
SuperGreenOS
🧠 SuperGreenOS home farming automation software for esp32, all in one package, and controllable from your smartphone, pc, mac, linux, toaster, plumbus, whatnot...
Stars: ✭ 83 (+361.11%)
Mutual labels:  firmware
smartcitizen-kit-20
Smart Citizen Kit 2.0 hardware and firmware
Stars: ✭ 36 (+100%)
Mutual labels:  firmware

This is a toolchain for LinkIt_Assist_2502 for Linux

http://labs.mediatek.com/site/global/developer_tools/mediatek_linkit_assist_2502/whatis_2502/index.gsp

http://www.seeed.cc/rephone/

Setup

  1. Download the arm compiler gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2

  2. Download the Windows SDK

  3. Install pyserial.

  4. Add your user to dailout group.

    sudo adduser $USER dialout

  5. Open the Makefile and set your TOOLCHAIN Path and your LINKIT_ASSIST_SDK_PATH

  6. Install Python 3.5.x

  7. Install udev rule under /etc/udev/rules.d/ called 71-rephone.rules. The magic job is here setting ID_MM_DEVICE_IGNORE environment value to inform ModemManager to skip device.

    ATTRS{idVendor}=="0e8d" ATTRS{idProduct}=="0003", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="0e8d" ATTRS{idProduct}=="0023", ENV{ID_MM_DEVICE_IGNORE}="1"

Running the sample

  1. Switch your device on

    make all

    make upload

Tools

merge_mtk.py adds a header and the size of the elf file for loading

uploader.py stops the running process and uploads the main.vxp to the device and restarts the application.

mon.py a simple debug monitor. Shows vm_log* messages from the device. Only works with Firmware Version W15.19.p2

ToDo Understand the header format

ToDo Understand the resource file format and building

ToDo Understand the monitor tool

FirmwareUploader/firmwareUploader.py a firmware upload tool for linux.

The Device

Firmware Version W15.19.p2

LINKIT_ASSIST_SDK/tools/FirmwareUpdater/firmware/LinkIt_Device/LinkIt_Assist_2502

from the MediaTek_LinkIt_Assist_2502_SDK_2_0_46.zip

Power off and connect USB

Ubuntu Linux found

(idVendor=0e8d idProduct=0003) /dev/ttyUSB0 and

switch after some seconds to USB Mass Storage device

(idVendor=0e8d idProduct=0002)

(5.2 MB ). This is partions C:

Power on and connect to USB

Ubuntu Linux found ( idVendor=0e8d idProduct=0023 )

/dev/ttyACM0 ( Mtk Modem Port ) used for uploading *.vxp Applications

/dev/ttyACM1 ( Mtk Debug Port ) used for debugging

The device as 2 partions C: and D:.

Partions D: can only accessed via AT commands from the modem port. see uploader.py

Firmware Version W15.19.p2-uart

Connect to USB without battery

Ubuntu Linux found (idVendor=0e8d idProduct=0003) /dev/ttyUSB0. The device resets and connects again.

Links

There is also a Arduino IDE for RePhone for GNU/Linux users

Arduino IDE for RePhone on GNU/Linux

Arduino IDE for RePhone on OSX and Windows

or with Eclipse

RePhone development on Linux

Hacking

There is no memory protection unit in place. So we can direct access SOC hardware regs.

This is great for hacking ... Sample

static VMUINT32* HARDWARE_CODE = (VMUINT32*)0x80000008;

vm_log_debug("%x",*HARDWARE_CODE);

Mac OS (El Capitan) 10.11.5

  1. Install Python 3.5.x

  2. Install the GCC ARM Embedded 4.9-2014-q4-major for Mac.

Test the USB port

Power on the device an connect it to the USB port.

Open the terminal.

ioreg -p IOUSB -l
	
+-o Product@14100000  <class AppleUSBDevice, id 0x1000007b1, registered, ma$
    {
       ...
      "Bus Power Available" = 500
      "USB Address" = 14
      "bMaxPacketSize0" = 8
      "iProduct" = 6
      "iSerialNumber" = 0
      ...
      "USB Vendor Name" = "MediaTek Inc"
      "idVendor" = 3725
       ...
    }

ls /dev/cu* 

/dev/cu.usbmodem1411             /dev/cu.usbmodem1413

Test the interface

screen /dev/cu.usbmodem1411

type

AT

OK

Run the uploader tool

./uploader.py --port /dev/cu.usbmodem1411

Monitor tool

./mon.py -p /dev/cu.usbmodem1413 --osx
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].