• [问题求助] 寻农业物联网平台嵌入式开发
    寻农业物联网平台嵌入式开发更新
  • [技术干货] ColdFusion与FLASH通信轻松入门教程
    使用前准备: 你需要准备一下的测试环境flash mx ColdFusionMX  源文件下载: 开始下载 10.1k  本文介绍ColdFusion和flash的通信方式,这次不使用Remoting组件,直接使用NetConnection对象,连接到ColdFusion的内置Remoting服务.该服务采用AMF结构的消息机制(动作消息格式).  请大家先温习一下NetConnection对象的方法和属性事件.new NetConnection()新建一个网络连接,connect方法用于连接到一个网络如果是rtmp协议则连接成功返回true,否则返回false,对于http的连接始终返回true.要判断连接是否成功,还可以使用onStatus事件.  close用于关闭连接. call用于调用一个服务,联机对象.call("服务",接收对象,参数列表,...)  现在: 打开flashmx新建文档 大小550*150 背景为淡青色.加为静态文字标签3个,动态文本框一个,输入文本框一个,打开共享库托入一个按钮::如下图所示:(为以上控件加入内容)  设置如下: 输入框 inputbox 按钮 button1 显示框 showbox  在第一帧加如下代码:代码拷贝框以下是引用片段://包含文件#include "NetDebug.as" 主要用于调试,并无其它意义,可选参数//System.useCodePage=true;当服务器不支持utf-8时候加如下代码.#include "NetDebug.as"conn=new NetConnection();//连接网关,在flashmx的窗口 service browser中可以找到.conn.connect("http://localhost:8500/flashservices/gateway");//呼叫服务//定义一个接收传回值的对象var obj={};//定义接收对象事件 onResult 当受到一个结果时候,此事件触发;obj.onResult=function (结果) {showbox.text = 结果;trace(结果);}obj.onStatus = function(info){trace("一个错误发生" + info.code);}function function1() {//使用命名参数传递对象,在参数比较多的时候,特别方便,推荐使用.var obj2={};obj2.sj=inputbox.text;conn.call("FLASHTEST.f2c",obj,obj2);}//定义按钮事件button1.onPress = function() {function1();}服务器代码编写:  新建站点:flashtest 新建文件f2c.cfm  代码如下 保存位置/flashtest/f2c.cfm<!--- 返回服务器的当前时间---><cfset theTime = timeFormat(now(), "h:mm:ss tt") ><!--- 特定的变量名 Flash.result可以回调客户端的.onresult ---><!--- 设定result的数据内容,#Flash.sj# 取得flash传递过来的实名数据变量.否则使用flash.params[1]获得变量,cf中数组从一开始,第一个参数为params[1]---><cfset flash.result = "欢迎" & #Flash.sj# & "使用全球领先的cf服务器系统,现在CF的标准时间是" & theTime>  执行的效果如下所示:
  • [Atlas200] 【启动】请问uart1 tx与rx短接口从内置flash启动后,默认ip是多少的?如何开启串口0打印?
    sd启动查询信息如下:uart1 tx rx短接口,启动到jump kernel没打印了:pc直连单板后,ping 192.168.0.2 无法ping通 。
  • [问题求助] “Flash download failed- Target DLL has been cancelled”
    【功能模块】STM32L431RC【操作步骤&问题现象】1、下载程序时显示如上问题2、任何其他设置都没有改动【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] 【智慧园区设施云】一文看懂Modbus, RTU, RS485等名词的联系
    Modbus rtu和Modbus tcp两个协议的本质都是MODBUS协议,都是靠MODBUS寄存器地址来交换数据;但所用的硬件接口不一样,Modbus RTU一般采用串口RS232C或RS485/422,而Modbus TCP一般采用以太网口。现在市场上有很多协议转换器,可以轻松的将这些不同的协议相互转换 如:Intesisbox可以把modbus rtu转换成Modbus tcp实际上Modbus协议包括ASCII、RTU、TCP。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验.ModbusTCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。TCP和RTU协议非常类似,只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可 Modbus协议定义的寄存器地址是5位十进制地址,即:线圈(DO)地址:00000~09999触点(DI)地址:10000~19999输入寄存器(AI)地址:30000~39999输出寄存器(AO)地址:40000~49999由于上述各类地址是唯一对应的,因此有些资料就以其第一个数字区分各类地址,即:0x代表线圈(DO)类地址,1x代表触点(DI)类地址、 3x代表输入寄存器(AI)类地址、4x代表输出寄存器(AO)类地址。在实际编程中,由于前缀的区分作用,所以只需说明后4位数,而且需转换为4位十六进制地址。简单点说,modbus有四种数据,DI、DO、AI、AODI: 数字输入,离散输入,一个地址一个数据位,用户只能读取它的状态,不能修改。比如面板上的按键、开关状态,电机的故障状态。DO: 数字输出,线圈输出,一个地址一个数据位,用户可以置位、复位,可以回读状态,比如继电器输出,电机的启停控制信号。AI: 模拟输入,输入寄存器,一个地址16位数据,用户只能读,不能修改,比如一个电压值的读数。AO: 模拟输出,保持寄存器,一个地址16位数据,用户可以写,也可以回读,比如一个控制变频器的电流值。无论这些东西被叫做什么名字,其内容不外乎这几种,输入的信号用户只能看不能改,输出的信号用户控制,并可以回读。离散的数据只有一位,模拟的数据有16位。
  • [问题求助] 【XXX产品】【XXX功能】一句话描述问题
    【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [Atlas200] 【Atlas 200产品】【SPI功能】Atlas 200 SPI接口外面可以挂SPI flash吗?
    【功能模块】Atlas 200 SPI接口外面可以挂SPI flash吗?有片选信号0、1是可以挂两片spi flash吗?【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [Atlas200] 【A200 RC模式 SD卡启动】【dtb重新编译/flash升级】文档描述不一致,升级后查询版本未改变
    【功能模块】A200使用RC模式,通过SD卡启动。版本查询如下(dtb是重新编译并升级的),flash升级前后版本查询结果一样。升级指令: /var/davinci/driver/upgrade-tool --device_index -1 --component dtb --path /opt/mini/driver/dt.img【操作步骤&问题现象】1、升级只是影响到了main和backup分区,flash版本总是升级不上去,这个有影响吗?2、flash、main、backup三部分的版本不一致,以哪个为准?3、重新编译dtb使能UART0(修改hi1910-asic-1004.dts),参考文档描述不一致的问题。参考文档(https://support.huawei.com/enterprise/zh/doc/EDOC1100206814/99b1ae)【截图信息】Atlas-200-sdk_21.0.2.zip解压后,hi1910-asic-1004.dts中的描述如下:(红色部分是添加的使能UART0的,蓝色部分是描述不一致的地方)chosen {         bootargs = "root=/dev/mmcblk1p1 rw rootdelay=1 syslog no_console_suspend initrd=0x880004000,200M cma=356M@0x19800000 log_redirect=0x1fc000@0x6fe04000 default_hugepagesz=2M ascend_enable_all ascend_mini_enable"; }参考文档的描述如下:chosen { bootargs = "console=ttyAMA0,115200 root=/dev/mmcblk1p1 rw rootdelay=1 syslog no_console_suspend earlycon=pl011,mmio32,0x10cf80000 initrd=0x880004000,200M cma=256M@0x1FC00000 log_redirect=0x1fc000@0x6fe04000 default_hugepagesz=2M"; }【日志信息】(可选,上传日志内容或者附件)
  • [Atlas200] altas200模块spi读写有问题
    自制的altas200模块的底板,通过spi外设连接flash(w25q256),使用的是你们的官网例程:https://support.huawei.com/enterprise/zh/doc/EDOC1100193743/12390085设备驱动为//opt/source/kernel/linux-4.19/drivers/spi目录下的spidev.c,在读写flash的时候发现只要spi_ioc_transfer结构体的len设置超过64个字节,后面的好像就发不出去了,但是ioctl(fd,SPI_IOC_MESSAGE(1),&tx)函数还是会返回我设置的值后来使用示波器直接点SPI_CS0(gpio78)引脚发现每次发送字节数和这个引脚拉低的时间的对应关系为:1字节  9.6us10字节  81us50字节 400us64字节510us100字节 520us继续增大字节数时间基本变化不大所以想问问你们的内核里的spi主机驱动是不是有点问题?
  • [设备专区] msdk的flash读写函数是只读写内部的flash?
    【功能模块】读写flash功能【操作步骤&问题现象】尾端msdk的MSDK_FlashWrite/MSDK_FlashRead/MSDK_FlashErase是只操作内部的8M大小的flash?外部连接的flash要用spi去访问?【截图信息】无【日志信息】(可选,上传日志内容或者附件)无
  • [问题求助] 【200DK】【flash启动】200DK无法正常从flash启动
    【功能模块】atlas200 DK【操作步骤&问题现象】1、将UART1 TX与RX短接,上电启动2、启动停在了Start to jump Linux kernel3、sd卡可正常启动【截图信息】【日志信息】(可选,上传日志内容或者附件)456000002325152707178e005e00680pmu second pmu initial:0x3.cur[2], last[0].cur[3], last[0].0.5c-init ok[NVE] xloader version:0x3220cur[4], last[0].lp nve parameter avs enable 1!Ձmode 3, efuse:256!cpu pll recfg function,success---242978!cur[5], last[0].cur[6], last[0].cur[7], last[0].current[2].current[3].uc sector[0] valid flag not enabled!uc sector[1] valid flag not enabled![UC]ddr_iecc_en:0current[21].current[22].current[23].current[25].current[26].current[31].freq 60 vol 2:current[33].Density:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0x120012Density:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffDensity:0xffffffffch_mask: 0xffch_lr: 0x3ch_num: 0x8rank_num: 0x1Manufacturer ID[0]:0x1Manufacturer ID[1]:0x1Manufacturer ID[2]:0x1Manufacturer ID[3]:0x1Manufacturer ID[4]:0x1Manufacturer ID[5]:0x1Manufacturer ID[6]:0x1Manufacturer ID[7]:0x1Total size:0x8DDR info:0x801DDR_TYPE_8CH_ALL 1_rank 8G !DDR HHA interleave enabled!idx: 0 start_addr_l: 0x0 start_addr_h: 0x0 length: 0x800idx: 1 start_addr_l: 0x80000000 start_addr_h: 0x8 length: 0x1800current[34].uce init entryuce profile total is 0x32cuce init endcurrent[35].freq 400 vol 2:freq 1600 vol 2:HVrefThres:8current[36].uce init entryuce profile total is 0x298uce init endcurrent[40].transfer ddr data to l2_buf 0x40000000.current[51].current[52].current[54].current[55].current[52].current[58].current[59].current[60].current[62].addr = d00c2030, value = 0addr = d00c3580, value = 0addr = d00c6320, value = 0addr = b0070e00, value = 0addr = d00c0a28, value = 0addr = b0070e30, value = 0addr = d00c0a58, value = 0addr = b0070e18, value = 0addr = d00c0a40, value = 0addr = b0072000, value = 3addr = d00c2540, value = 30addr = d00c00a0, value = 3faddr = d00c00a4, value = 3faddr = d00c0030, value = 241f41addr = d00c0034, value = 0addr = d00c0038, value = 241f41addr = d00c003c, value = 0addr = d00c5000, value = 3faddr = b0072004, value = 0addr = d00c2550, value = 0addr = d00c3690, value = 82current[63].DDR Total Capacity: 8192 MB.DDR Rank Type: single.DDR Channel with DRAM: A B C D E F G HDDR Init 994 mscurrent[65].current[67].cur[8], last[0].maintain:0, static:0cur[9], last[0].[STID]adcin7:0x0.[STID]adcin7_remap:0x0.[STID]adcin8:0x0.[STID]adcin8_remap:0x0.cur[10], last[0].SPI FLASH download uefi.cur[25], last[0].PCIE_RC_MODE...g_imgNum = 1cur[26], last[0].SPI FLASH download uefi finish.sicur[34], last[0].ns, succur[35], last[0].si succur[36], last[0].s vr bgns vr, sccur[37], last[0].sv sucsv suchigh mntn_config=0xa0000000, low mntn_config=0x0high addr=0x8, low addr=0x90000000lpm3 will WFEdisreset A55.cur[0], last[0].aicore_power_on:312----core1 step1aicore_pmu_up:233----repair step 5_aicore0_buck_on:164---state -0x7--cfg:0x6b--buck voltage:0x6b_aicore1_buck_on:222---state -0xf--cfg:0x6b--buck voltage:0x6b_aimemory0_1_buck_on:193---state -0xf--cfg:0x6b--buck voltage:0x6baicore_pmu_up:257----pmu up step1aicore0_power_reset:74aicore0_power_reset:83aicore1_power_reset:88aicore1_power_reset:97aicore1_isolation_enable:112----repair step 4aicore_power_on:331----power on success.DDR HHA interleave enabled!NOTICE:  Booting Trusted FirmwareNOTICE:  BL1: Built :NOTICE:  BL1: Booting BL2NOTICE:  BL2: Built :NOTICE:  BL1: Booting BL31NOTICE:  [bl31_early_platform_setup2] [59]NOTICE:  [bl31_early_platform_setup2] [59]NOTICE:  BL31: Built :NOTICE:  [hw_gic_setup] [90]booting cfg info 0x0, 0x0!start boot linux.(4551)booting cfg info 0x0, 0x0!Flash Start OS.Enter4BCmd(2078):ok!Exit4BCmd(2039):ok!NOTICE:  t-p12.booting cfg info 0x0, 0x0!C-dtbC-ImageC-filesystemCheck dtb hash ... MemCmp:7F, 7FCheck Image hash ... MemCmp:79, 79booting cfg info 0x0, 0x0!Check filesystem hash ... MemCmp:95, 95booting cfg info 0x0, 0x0![get_reserved_mem_size]:[1073L] memory total size[0x200000000], ddr dump size[0x0][get_reserved_mem]:[1147L] reserved memory invalid[0x890000000][0x0]Start to load LPM3.NOTICE:  t-p12.load LPM3 successfully.Start to jump Linux kernel(25692)
  • [Atlas200] 【Atlas200加速模块】【flash 升级成功后,掉电成砖?】
    【功能模块】Atlas200加速模块EMMC制卡升级flashflash 升级成功后,掉电成砖?【操作步骤&问题现象】1、将Atlas200加速模块(不是套件原装的DK模块)放到开发套件上成功启动进入系统2、查询到 flash 版本:HwHiAiUser@davinci-mini:/var/davinci/driver$ sudo ./upgrade-tool --device_index -1 --component rootfs --version{Get component version(1.3.2.0.893) succeed for deviceId(0), componentType(7).        {"device_id":0, "component":rootfs, "version":1.3.2.0.893}}3.把 filesystem-le.cpio.gz 拷贝到 /var/davinci/driver下,执行 ./upgrade-tool --device_index -1 --component rootfs --media --flash --main --path ./filesystem-le.cpio.gz等待提示重启4.断电重启后。查询到版本号已改变,掉电把加速模块安装到自研板卡上,(升级前是能启动的)串口无启动信息,系统无法启动。(是要 reboot重启?还是断电重启?)5.重新安装回开发套件上,指示灯全灭,串口无启动信息。目测成砖。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] liteos程序烧录提示flash()=-1
    vscode能下载成功,但是为什么liteos却出现这种情况 517295
  • [技术干货] Atlas 200模块上电启动异常
    问题现象:Atlas 200模块搭载Atlas 200DK无法正常上电问题根因:Flash内部程序被修改导致无法引导1910启动。操作指导:更新Flash程序时选择官网推荐,尽量不要修改内部加载程序。具体问题分析流程:①故障描述:客户修改镜像后,模块启动异常。②日志分析:查看串口打印日志,显示为Xloader加载异常。初步判断为Flash加载程序被损坏。③问题复现:按局点配置搭建环境:异常A200模块搭载A200 DK,首次上电能复现,多次上电能稳定复现。④根因分析:A200模块启动顺序为Bootrom阶段→Xloader阶段→Uefi BIOS阶段→加载OS镜像,启动路径由原理图中配置电阻决定。异常A200模块的配置电阻设定为010,即a、Bootrom从on-chip-room获取b、Xloader+UefiBIOS从MINI下挂的SPI Flash获取,c、OS镜像:如果没有挂载设备,从SPI Flash内的OS镜像(功能不完全)启动,SPI flash里面默认烧录了OS镜像;如果此时有EMMC接口有挂载有镜像的设备,即使用SD卡或者EMMC flash芯片,从EMMC接口启动此异常模块采用SD卡驱动。异常A200模块搭载A200 DK,首次上次能复现。查看串口打印信息,由串口打印信息可知,系统未进入到OS加载模块,怀疑是前期Flash未加载成功。替换异常模块的Flash,烧录现网使用版本的Flash加载程序,异常模块可正常上电;再次对异常模块的Flash进行烧录程序,同样此模块可正常上电,问题解决。
  • [问题求助] stlink_fwrite_flash() == -1 烧录失败 怎么解决
    【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)